Acabo de encontrar los codigos que habia escrito en C++, sobre tipos de ordenamiento, les servirá para algo.
Método shell: Ordenamiento Shell.cpp
Método quick sort: Ordenamiento por método Quick Sort.cpp
Método Inserción Directa: Ordenamiento por inserción Directa.cpp
Método Inserción Binaria: Ordenamiento por inserción Binaria.cpp
Método Heap sort: Ordenamiento por Heap Sort.cpp
Método de Selección: Ordenamiento método Selección.cpp
Método Radix: Ordenamiento por método Radix.cpp (Nuevo)
Método Burbuja: Ordenamiento por método Burbuja.cpp (Nuevo)
Esta es la librería que los 6 primero métodos lo utilizan (El cual también se encuentra adjuntado con cada código):
Librerias: leearreglo.h
Nuevo: Veo el interés por este tema, así que les dejo una publicación que realicé explicando ventajas y desventajas por cada tipo de ordenamiento. Aquí
También te puede Interesar:
Métodos de Ordenamiento en java
Pueder ir al artículo principal:
Códigos Sencillos hechos en C++
el program no gala wey pon unu que si gale:v
Me podrian decir en qué consiste el ordenamiento chenson? porfavor
It’s genuinely very complex in this busy life to listen news on Television, thus I only use the web for that purpose, and obtain the latest news.
I’d like to thank you for the efforts you have put in penning this blog. I am hoping to see the same high-grade content from you later on as well. In truth, your creative writing abilities has encouraged me to get my very own site now 😉
I believe what you wrote was very reasonable. But, what about this?
suppose you were to write a killer title? I am not suggesting your content
isn’t good., but suppose you added a title that makes people want more? I mean Métodos de ordenamiento hecho en C++ | The::Beastieux is a little boring. You should peek at Yahoo’s front page and watch how they create news titles to get
viewers to open the links. You might add a related video
or a related pic or two to get readers interested about everything’ve got to say. Just my opinion, it would bring your posts a little livelier.
Unquestionably believe that which you said. Your favorite justification appeared to be
on the web the easiest thing to be aware of. I
say to you, I certainly get annoyed while people consider worries that they just do
not know about. You managed to hit the nail upon the top
as well as defined out the whole thing without having side-effects ,
people can take a signal. Will likely be back to get more.
Thanks
Greetings from Idaho! I’m bored at work so I decided to browse your blog on my iphone during lunch break. I love the information you provide here and can’t wait to take a look when I
get home. I’m surprised at how quick your blog loaded on my cell phone .. I’m not even
using WIFI, just 3G .. Anyways, amazing site!
que aburrido pero hay que hacer tarea jiji nel esto es la ley
hola … algien me puede ayudar mi mis me puso a hacer un programa de todos los k ya tengo uno solo usando el metodo burbuja….y no entiendo
jaja q kieresz prisma posz sii nii stasz asiiendo nada..:A:A
OLA AMIGUITOSZ..:D
deajate de kosas riki porfas esplikame
bueno sta biien compañeritosz..;):P:A:A
holis 🙂
ola amiguitosz..(H)
Hola quisiera saber si me puedes colaborar adaptando el ordenamiento, pero para ordenar objetos…Gracias
Esto es lo que tengo pero me falla y no se por que.
////////////////////////////////////////////////////////////////////////////////////
Persona aux;
for(i=0;i<(n-1);i++)
{
posm=i;
men=Per[i].getCedula();
for(k=i+1;k Per[k].getCedula())
{
men=Per[k].getCedula();
posm=k;
}
aux=Per[i];
Per[i]=Per[posm];
Per[posm]=aux;
}
}
///////////////////////////////////////////////////////////////////////////////////
checa bien los puntos y las comas algunas veses por eso falla 🙂 o kuando tienes mayuskulas y minuskulas en algun lado 🙂
Hola quisiera este programa pero que solo funcione con un solo for y que este explicado.
Agradecería muchísimo si alguien lo publica.
Saludos
El Método Burbuja no me funciona me tira varios errores:
«/usr/bin/make» -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: se ingresa al directorio «/home/jose/NetBeansProjects/Método Burbuja»
«/usr/bin/make» -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/m_todo_burbuja
make[2]: se ingresa al directorio «/home/jose/NetBeansProjects/Método Burbuja»
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/main.o.d
g++ -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.cpp
main.cpp:18:6: warning: trigraph ??( ignored, use -trigraphs to enable
main.cpp:18:9: warning: multi-character character constant
main.cpp:18:13: warning: trigraph ??) ignored, use -trigraphs to enable
main.cpp: In function ‘int main()’:
main.cpp:18:6: error: expected initializer before ‘?’ token
main.cpp:24:6: error: ‘n’ was not declared in this scope
main.cpp:30:4: error: ‘n’ was not declared in this scope
main.cpp:36:7: error: ‘n’ was not declared in this scope
make[2]: *** [build/Debug/GNU-Linux-x86/main.o] Error 1
make[2]: se sale del directorio «/home/jose/NetBeansProjects/Método Burbuja»
make[1]: *** [.build-conf] Error 2
make[1]: se sale del directorio «/home/jose/NetBeansProjects/Método Burbuja»
make: *** [.build-impl] Error 2
todo empieza aquí en: la linea 18 int n??(‘cn’??); si existe un remplazo porfa díganme porque ya probé con varias formas.
El método de la burbuja, el más ineficiente de todos los métodos de ordenamiento pero útil para muchos casos, lo encuentras reseñado en muchos sitios de la web y libros de programación. Es muy fácil de implementar.
Hola necesito ayuda con un programa muy complicado (almenos para mi si) en Dev-C++ se trata de esto: programa que: «de la posibilidad de ordenar un arreglo de numeros (enteros y decimales) por algun metodo de ordenamiento seleccionado por el usuario…
1. Burbuja
2. Seleccion
3. Inserccion
4. Quickshort
…independientemente del metodo elegido debera indicarse los siguientes resultados»
1. tiempo de ordenamiento
2. cantidad de comparaciones
3. cantidad de intercambios
4. arreglo resultante «ordenado»
sinceramente no se como hacerlo haber si alguien me puede ayudar por favor
Como estás Brian, ahi tienes todos los métodos que necesitas, para ello solo deberías hacer un código para un menu, podrias usar la estructura de case
y llamar a cada uno de los códigos según elijas, para la cantidad de comparaciones basta con crear una variable que incrementará antes de la función de comparación, y la cantidad de intercambios cuando entra a la función de comparación.
int numComparaciones=0;
int numIntercambios=0;
numComparaciones++;
if(n[j]>n[j+1])
{
k=n[j+1];
n[j+1]=n[j];
n[j]=k;
numIntercambios++;
}
Para calcular el tiempo de ordenamiento/ejecución declara al inicio la librería time.h: #include
clock_t t_ini, t_fin;
double tiempo;
t_ini = clock(); //inicia contador de tiempo
/* …aquí se ejecuta el ordenamiento… */
t_fin = clock(); //finaliza contador de tiempo
tiempo = (double)(t_fin – t_ini) / CLOCKS_PER_SEC;
la precisión creo no es tan exacta, pero también de penderá del medio donde ejecutes el código, para que hagas una comparación eficiente deberás ejecutar todos en el mismo ordenador con los recursos del medio que sean iguales para todos.
hola necesito de su ayuda con un programa q contenga los metodos de ordenamiento incluyendole funciones esq casi lo manejo. bien! muxhas graxias de antemano!!
hola jeamileth, los códigos que he realizado están organizados en funciones, o no se a k te refieres o.o … saludos!!
oigan me mandaron a averiguar sobre el metodo de ordenamiento «switch» alguien podria decirme en ke consiste? o darme un ejemplo para trabajarlo?
Hola punky, la verdad k no conocía el método switch, O-O, de todas maneras voy a informarme, un saludo…
Gracias también a ti. Ya probé lo que me dijistes. Por cierto, vi el logotipo de tu avatar y caí en cuenta de que era de PCBSD. Instalé la versión 8.1 x64 en mi equipo y funciona muy bien. Nunca había trabajado con BSD y tampoco me fue muy difícil incluirlo en el grub2 de Debian.
Saludos
Por cierto, con código resaltado, disponible en WordPress.com, es más fácil acceder a el porque se puede copiar rápidamente al portapapeles. He aquí un ejemplo:
Saludos
ingresa un numero uno después de otro separándolos con enter, ingresando -1 termina de pedirte datos…
Thanks por la info del resaltado de los códigos, espero poder actualizar los posteados en el blog.
Saludos!
El programa de ordenamiento radix compila pero cuál sería un ejemplo de la cadena numérica a introducir.
Saludos
necesito q m ayuden
con un programa
q ordene x numeros de menor a mayor con el metodo shell
en dev-c++
hola me a servudo mucho sus codigos, pero tengo un problema el heap sort no me funciona en c++ lo tengo asi:
#include
#define max 100
using namespace std;
int main()
{
int A[max],j,item,temp,i,k,n;
cout<>n;
for(i=1;i> A[i];
for(k=n;k>0;k–)
{
for(i=1;i0 && A[j]<item)
{
A[i]=A[j];
i=j;
j=j/2;
}
A[i]=item;
}
temp=A[1];
A[1]=A[k];
A[k]=temp;
}
cout<<"El orden es:"<<endl;
for(i=1;i<=n;i++){
cout<<"Ingrese el elemento "<<i<> A[i];
}
system(«pause»);
return 0;
}
ojala me puedan ayudar, lo otro es que el link para ver el metodo burbuja no funciona ya :/.
gracias de antemano muy buen blog para comprender este tipo de algoritmos
saludos
hola juanoy, vi la primera linea y te falta validar bien el include:
#include
Saludos, por cierto el link ya está corregido. Suerte!
GRacias Por los programas son los mejores muchas gracias por la ayudan que proporcionan
andres, puedes ver éste ejemplo:
lo nesesito urgente porfa ok …
quisiera un ejemplo de metodo buble sort en c++ para ordenar de mayor a menor y de mayor a menor 3,11,2,9,1por fabor mandamelo a mi correo por fabor amix
SERA QEUM E PUEDEN AYUDAR LA VERDAD ES QUE TENGO QUE CREAR UN PROGRAMA QUE ME ORDENE MIL NUMEROS QEU SE ENCUENTREN EN UN FICHERO CON LOS SIGUIENTES METODOS:
METODO DE BURBUJA
METODO QUICK SORT
METODO DE SELECCION DIRECTA
METODO INSORT (o INSERCION DIRECTA)
PORFAVOR SI ALGUIEN M PODRIA AYUDAR SE LO AGRADECERIA MUCHO EN VERDAD ME URGE PORFA AYUDENME MI CORREO ES <>
6yyhyu
ola
tengo un problema esque estamos usando dev-c++ para hacer los programas pero aora que tenemos que utilizar la instruccion gotoxy no se como ponerla porque no la agarra y con el programa que muestran de shell nome corre
grax de antemano y espero respuesta rapida
oye una pregunta cuando trato de corres tus codigo en visual c++ 2008 expres ediccion me sale error este
fatal error C1083: Cannot open include file: ‘leearreglo.h’: No such file or directory
como lo puedo solucionar
el codigo es el shell lo probe conlos demas y me sale lo mismo
el error es pq no has incluido la libreria leearreglo.h, es indispensable que lo incluyas en tu proyecto, no se si existe un directorio especial para hacerlo, pero me imagino k si, como headers o libraries…
suerte
ahi tienes el código, es sencillo, con una simple prueba de escritorio puedes darte cuenta lo k hace…
hola
kieroo
saberrrr
sobre
insersion
lo
ke
pasa
es
kee
miii
profesorrrrrr
deja
kee
noooosss
injeniemossss
solosss
y
esoo
noo
es
justooo
por esoo
es
ke
kiero
kee
me
ayuden
esperooo
respuestaa
graciassss
.
.
.
no kiero.:A:A
quiten esto por q ni sirve
disculpa necesito el metodo del ordenacion externa el metodo polifasico en verdad no lo encuentro por ningun lado, de verdad es urgente te agradecderia mucho si lo publicas, si codificacion, gracias.!!!
espero les sirva
quiero porfa ayuda parz mi exposicion de metodo de ordenamiento por insercion n0 tngo nada y m voya aplasar xfanaaaaaaa
#include
#include
#include
int i,j,aux,n;
int ARREGLO[‘ ‘];
void leer();
void ordenar(int n,int ARREGLO[‘ ‘]);
void mostrar(int n,int ARREGLO[‘ ‘]);
main()
{
int opc;
do
{
cout<<"1.- Leer."<<endl;
cout<<"2.- Ordenar ."<<endl;
cout<<"3.- Mostrar ."<<endl;
cout<<"4.- Salir."<<endl<<endl;
cout<>opc;
cout<<endl;
switch(opc)
{
case 1: leer(); break;
case 2: ordenar(n,ARREGLO); break;
case 3: mostrar(n,ARREGLO); break;
case 4: break;
}
}while(opc!=4);
}
void leer()
{
cout<<"ingrese el numero de elementos q desea"<>n;
cout<<endl;
for(i=0;i<n;i++)
{
cout<<"Teclee el elemento "<<(i+1)<<" :"<>ARREGLO[i];
cout<<endl;
}
}
void ordenar(int n,int a[' '])
{
int menor;
for(i=0;i<(n-1);i++)
{
menor = a[i];
int avanza=i+1;
int pos=i;
while (avanza<n)
{
if (menor < a[avanza])
{
}
else
{
menor= a[avanza];
pos=avanza;
}
avanza ++;
}
aux = a [pos];
a[pos]= a[i];
a[i]= aux;
}
}
void mostrar(int n,int ARREGLO[' '])
{
for(i=0;i<n;i++)
{
cout<<ARREGLO[i]<<" ";
}
cout<<endl<<endl;
getch();
}… y este es el metodo de ordenacion
me gusta mas C en vez de C++
kisiera que me pudieran ayudar necesito un codigo en c++ sencillo que sea un menu que contenga los metodos de burbuja, seleccion, insercion y quicksort por favor ayudenmeeeee ia me mate la acabeza aciendolo y no me salllleeeee
gracias sAf0rAs!!!! excelentes codigos y q dcir de la ayuda mgnifik!!!
podrias agregar mi cuenta de msn para que me ayudes al_kmot@hotmail.com porfavor
Hola km0t, bueno aclaro tu duda directamente asì los que lean este post ya no tengan k volver a preguntar…..
En el còdigo hay una linea como la siguiente:
for (k = 1; k < 5; k++)
{
/* Suponer que tenemos números de cuatro dígitos */
…
…
el valor de k empieza en uno y es menor que 5 asì que el nùmero màximo de dìgitos que soporta es de 4, el problema en el ejemplo que mustras es que 3334556 tiene màs digitos de lo asignado, asì que tendrìas que cambiar k < 5 por k < 8 …, eso de acuerdo a cuantos digitos quieres que soporte tu codigo,
Saludos!!!!!!
gracias probe con esto
Cadena de números enteros:
555 5557 334556 -1
pero arrojo esta salida
555
334556
5557
creo que no los ordeno bien
Oye amigo puedes explikrme como utilizo el metodo radix lo ejecuto y me dice esto (((Cadena de números enteros:))) ahora como introdusco los datos, los separo x comas o como?? de antemano gracias
Oye amigo puedes explikrme como utilizo el metodo radix lo ejecuto y me dice esto (((Cadena de números enteros:))) ahora como introdusco los datos, los separo x comas o como?? de antemano gracias!!!!!
intenta ingresando los numeros hasta que ingreses -1, el -1 termina de solicitar datos….,
hola…. necesito un programa que utilize metodos de ordenamiento con estructuras de por DIOS…. gracias ha y ejemplos…….!!!!
hola.. bueno yo soy nuevo esto de hacer algoritmos en c++ y me pidieron hacer y demostrar unos algoritmos de ordenamiento en lenguaje c++ q solo lean 10 caracteres y los ordene en el metodo de shell, en el binario y en Quick Sort.
porfavor una ayuda y guias simples para este principiante.
mi correo es dark_ive@hotmail.com
oye saforas solo tengo problemas con el quicksort de hecho no me marca ningun error, de hecho lo compila y corre me pregunta cuantos elementos, los muestra pero no me los muestra ya ordenados se queda como bloqueado, me podrias dar una solucion
hola saforas tus respuestas me han sido muy utiles, ya que estoy estudiando metodos de ordenamiento en dev c++y como soy principiante en programacion pues me han servido muchos tus respuestas, gracias
hola safora
lo que pasa es q no se si me puedes ayudar a conseguir un program en c
por el metodo de ordenamiento shell y q te haga un abusqueda secuencial
espero un a respuesta satisfactoria
hola; necesito d esu ayuda tengo k hacer un menu con archivo donde tenga agregar. mostrar, eliminar, buscar y modificar con array y ordenarlo con el metodo de insercion binaria; mi duda es k cuando busca m muestra en error el stricmp(bin.n,cadena); donde para mi el bin.n es entero y m dice k tengo k manejarlo en char; por favor ayudeme se o agredeseria y por cierto no m ordena el metodo de insercion binaria; estoy manejando el compilador dev-c++, t paso el codigo para k m ayudena; tanto para buscar cmo para ordenar thanks si m ayudan x favor…espero pronta respuesta
///////////// MÉTODO PARA BUSCAR EN EL ARCHIVO/////////////////////
void Encontrar(void)
{
FILE *fp;
Insercion bin;
int p;
char cadena[50];
printf(«\n BUSCAR LOS DATOS EN LA LISTA\n\n»);
printf(«Teclee el numero a buscar: «);
gets(cadena);
printf(«\n—- BUSCADO EL NUMERO —-\n»);
fp=abrir_fichero_b(fichero,0);
if(!(fp))//proceso que nos indica que el archivo no fue abierto
printf(«\n Error el archivo agenda.dat no fue abierto\n»);
else
{
while ((p=fread(&bin, sizeof(bin), 1, fp))!=0 && stricmp(bin.n,cadena)!=0);
if (p==0)
printf(«No existe ese numero: %s «,cadena);
else
{
printf(«\n Numero encontrado con Exito!!!!!\n\n»);
for (bin.numero=0; bin.numero<bin.n; bin.numero++)
{
printf(" Sus Numero son: %d\n",bin.arreglo[bin.numero]);// muestra los diferentes numeros
}
}
}
}
/////////////////////////////////////////////////////////////////////
la de insercion binaria es
////////MÉTODO INSERCIÓN BINARIA////////////////////////////////////
void InsercionBinaria(void)
{
FILE *fp;//Se crea un fichero
Insercion bin;//
int n,i,j,aux,izq,der,m, lis;
fp=abrir_fichero_b(fichero,3);//Se abre el fichero creado
if(!(fp))//proceso que nos indica que el archivo no fue abierto
printf("\n Error el archivo agenda.dat no fue abierto\n");
else
{
printf("Que lista desee ordenar");
scanf ("%d",&lis);
if(lis)
for(bin.numero=1;bin.numero<bin.n;bin.numero++)
{
aux = bin.arreglo[bin.numero];
izq=0;
der=bin.numero-1;
while(izq<=der)
{
m=((izq+der)/2);
if (aux=izq)
{
bin.arreglo[j+1]=bin.arreglo[j];
j=j-1;
}
bin.arreglo[izq]=aux;
fwrite(&bin,sizeof(bin), 1, fp);//Escribe en el archivo los datos
fclose(fp);
}
}
}
mis estructuras son:
#define NUM 50
typedef struct //Crea una estructura en donde contendra los siguientes datos:
{
int numero; // Numero de la lista
int arreglo[NUM];
int n;
}Insercion;
ayude por favor
thanks
XD
Oye saforas,pon tu correo para mandarte un programa en c++ que contiene tus programas de ordenamiento un poco modificados,en cuanto lo pongas y yo lo vea te los mando.Yo los use y me sirvieron mucho.Por eso quiero regresar el regalito.No siempre puedo acceder a internet por la cuestion monetaria,pero en cuanto lo haga te los mando,claro si esta tu correo.
Hasta pronto.
wow!!, thanks ramon, estoy completamente seguro de que podrá ser de gran ayuda para la gente interesada en el tema…
dsaforasc arroba gmail punto com
saludos!!!
Genial, me has salvado de una dura, se te agradece bastante eres un verraco.
gracias gracias gracias creo ke es la pagina donde me dicen las cosas de una manera que realmente entiendo muchas gracias por tus programas ^^
son una bola de pendejos ponganse a estudiar
hola tengo un problema con un codigo en c++ se supone q este codigo deberia de mostrarme en pantalla el arreglo debidamente ordenado de forma creciente pero no lo hace solo me dice: que presione cualquier tecla para continuar lo hago y sale del programa porq sera. el codigo es #include
#define MAXC 7
void main()
{
int array[MAXC]={6,1,5,2,3,4,0};
int cont,pasos,temp,i;
for (cont =MAXC/2;cont!=0;cont/=2)
for (pasos=1;pasos!=0;)
{
pasos=0;
for (i=cont; iarray [i])
{
temp =array [i];
array [i]=array [i-cont];
array [i-cont]=temp;
pasos++;
}
}
}
Hola jhon, gracias por dejar tu código, a la gente le será re-util….
Si quieres puedes subscribirte a : http://groups.google.com.pe/group/somoscodigolibre
y subir al repositorio los códigos que desees compartir!!
Saludos y suerte!!!
Gracias me fue de mucha utilidad
me corrieron a la perfeccion
//ojala les sirva jeje ta chevre la pagina sigan poniendo chicos cosa buenas
#include
#include
#include
struct alumno{
char nombre[15];
char apellidop[15];
char apellidom[15];
int codigo;
}est[50];
struct curso{ char nombrec[20];
float nota1;
float nota2;
float nota3 ;
float promedio;
}curso[20];
main(){
int i,j,n,m;
clrscr();
gotoxy(30,5);cout<<» ESTRUCTURA ALUMNO»;
gotoxy(30,6);cout<<» =================»;
cout<<«\n———————————————————————–«;
cout<>n;
for(i=1;i<=n;i++){
cout<<«\n——INGRESE DATOS DEL ESTUDIANTE—-:\t»<<i;
cout<>est[i].nombre;
cout<>est[i].apellidop;
cout<>est[i].apellidom;
cout<>est[i].codigo;}
cout<<«\n————————————————————————«;
cout<>m;
for(j=1;j<=m;j++){
cout<<«\n—- INGRESE EL NUMERO DE CURSOS:—–«<<j;
cout<>curso[j].nombrec;
cout<>curso[j].nota1;
cout<>curso[j].nota2;
cout<>curso[j].nota3;
curso[j].promedio=(curso[j].nota1+curso[j].nota2+curso[j].nota3)/3;
}
cout<<«\n\n————————————————————————-«;
for(i=1;i<=n;i++){
cout<<setw(12)<<«\nNOMBRE:»<<est[i].nombre;
cout<<setw(12)<<«\nAPELLIDO PATERNO:»<<est[i].apellidop;
cout<<setw(12)<<«\nAPELLIDO MATERNO:»<<est[i].apellidom;
cout<<setw(12)<<«\nCODIGO:»<<est[i].codigo;
cout<<«\n\n————————————————————————–«;
}
cout<<«\n\n————————————————————————-«;
for(j=1;j<=n;j++){
cout<<setw(12)<<«\nNOMBRE DEL CURSO:»<<curso[j].nombrec<<endl;
cout<<setw(12)<<«\nNOTA PROMEDIO DEL CURSO:»<<curso[j].promedio<<endl;
}
cout<<«\n\n———Gracias por Utilizar mi Programa————————————«;
getch();
return 0;
}
lcyagjhik u
OYE QUE BUEN SITIO, DE VERDAD TE FELICITO.
EXCELENTE TRABAJO
programaciòn de doris
Gracias por los algoritmos, funcionan muy bien!!
hola juan, no creo que el código de shell no te funcione, todos son correctamente probados antes de subirlo a la red.
Y ya he agregado el ordenamiento por radix, espero que te sirva. La petición de números de radix acaba cuando ingresas -1
saludos!!
aljien podria mandarme el codigo de radix en c++ pero que funsione por que este codijo de sell sort no funsiona grasias
Es posible que te dé error en #include”leearreglo.h” si no incluiste ese archivo en el mismo directorio o proyecto del código que lo llama, creo que ya le expliqué a alguien antes!!!
Esta es la librería que los 6 codigos anteriores lo utilizan: leearreglo.h
Hola como estas ,quiero saber porque en los metodos de ordenamiento me sale error en #include «leearreglo.h» y using namespace std.
gracias respondeme rapido.
HI!! como esta hasta ahora q entro a sta pagina y sta muy interesante, bueno fijate que stoy llevando un curso de c++ y me esta costando un poco con el tema de ordenamientos sera q me puedes mostrar algunos ejemplos para poder comprenderlos mejor, de antemano gracias por tu respuesta
hola amigo, gracias por preocuparte y dar un poco de tu tiempo en prestar tu ayuda en contestar algunas dudas acerca de la programacion, quiero aprender a programar aunque conozco lo basico y se que voy a aprender, gracias por tus respuestas… suerte
buenas pues yo tambien felicito a saforas por muy buen foro de verdad que esto hace falta para mucho mas temas yo tambien estoy con el tema de leonidas sobre en donde se puede utilizar los metodos de ordenamiento y la diferencia de utilizar uno y otro muchas gracias y sigue adelante
si de todas formas… muchas gracias… saludos!
muy buena pregunta leonidas…
verás, la utilización de los diversos métodos de ordenamiento en el lenguaje que sea, se hace dependiendo de su uso, por ejemplo, hay métodos que funcionan mejor en ciertos casos y que son un drama en otros.
En cuanto a su aplicación, en el mundo de la web es muy importante como en cualquier aplicación que se vincula con cierta base de datos, por ejemplo, google u otros buscadores se encargan de ordenar sus resultados teniendo en cuenta la importancia de la web, en relación con su número de vínculos entrantes, salientes,etc;es decir, cuantifica su relevancia.
Los pagerank’s también tienen que usar métodos de ordenamientos para listar ordenadamente las webs con más valoración desde diversas perspectivas.
En el caso de los web/blogs, hay quienes mustran las entradas más vistas, como en éste, lo hacen ordenadamente según el resultado del análisis de la cantidad de visitas que tiene cada post.
Por lo tanto, es común que usemos métodos de ordenamiento como una herramienta más de los métodos de búsqueda.
Casi todas las webs cuentan con un motor de base de datos, por el cual es necesario contar con métodos de búsquedas para localizar información y métodos de ordenamiento para mostrarlos.
Espero haberte dado algo de luces en este aspecto, te invito a buscar mas info en la web que este tema es sumamente importante.
Saludos.
wenas!! me parece muy wena tu iniciativa de este blog, tipo foro que ayudas a los demas a comprender mejor la algoritmia... ahora mas alla de problemas con las metodologias de ordenamiento, quisiera saber que aplicacion tendria un ordenamiento en lenguajes orientados a la web, como paginas o algun tema relacionado a eso... agradeceria tu respuesta y conocer algo mas acerca de la implementacion de estos...
hey, que tal Ronald, felicitaciones por la buena nota, regresa pronto!!!
Muchas gracias Yovana y a quien te ayudo que no se como se llama, me sirvio de mucho todo lo que pusieron ya que como lo especifican lo pude ejecutar, he aprendido con usted mucho y saque una buena nota en un exposion de este tema.
Saludos
Ronald
O_O, Hola Penelope, la verdad que no he notado error en el método, podrías decirme cuales son los datos que ingresas?
Ten en cuenta que el primer valor ingresado es la cantidad de numeros que ingresarás, luego de eso tienes que ingresar los n numeros que pusiste en un inicio.
puedes sustituir estas lineas :
for(i=1;i<=n;i++)
cin >> A[i];
por estas:
for(i=1;i<=n;i++)
{
cout<<«Ingrese el elemento «<<i<<» : «;
cin >> A[i];
}
para hacer más comprensible el proceso.
saludos…
El HeapSort No ordena correctamente, cual es la solucion
vale Chany, entonces esto te podría ayudar a comprender, aunque el código es prácticamente lo mismo.
Ordenamiento en C++
solo incluyo la explicación del algoritmo de cada método.
saludos…
yo sòlo necesito hacer un ejercicio de cada ordenamiento: shell, arbol, burbuja y quick sort, la verdad, es que no entiendo mucho. Cual es LA PÁGINA MÁS FACIL DE ENTENDER???, GRACIAS.
hola alguien que me ayude, nesecito un compilador que haga lo mas basico como reconocer unas cuantas sentencias, hecho en c++, urge muchisimo
saaaaaaaaaaaaaaaaaaaaa
Buena observación!!!
Lo cierto es que no he usado en muchas ocasiones Dev C++, pero seguro te sucede lo que me sucedió cuando use esta IDE por primera vez.
Lo que pasa es que Dev-C++ no soporta la dichosa generación automática de pausas, por lo que cuando ejecutas el programa, te pide que ingreses los datos, pero no puedes ver los resultados porque la ventana se cierra inmediatamente.
para que soluciones este problema basta con hacer lo siguiente:
int main ( )
{
.
.
.
system(«pause»); //código que debes aumentar
return 0;
}
con ese system(«pause»); antes del return 0 seguro que no tendrán problemas en ningún código!!!
Era eso lo que te sucedía??? bye!!
hola sabes ya me corrio el programa pero se supone que tiene q ordenarlo y mostrarlo pero no muestra nada
como vas yovana, ….
dev-C++, ese solo es una IDE, que ayuda a programar y compilar en C++, pero el lenguaje es solo «c++»:) bueno, el código que mencionas, el shell, lo compilé con g++, no he tenido ningún problema, pero ahora que lo dices lo he hecho con dev-C++, .
Lo primero que hice es crear un nuevo source desde el menu archivo(file):
file – new – source file
ahí copie el código shell.
al momento de compilar te pedirá que le pongas un nombre, si antes ya no lo habías hecho, puedes ponerlo por ejemplo shell.cpp, el nombre puede ser cualquiera, pero siempre al final un .cpp
-compilé, y efectivamente sale el error que tu mencionas.
ese error es porque muestraCadena y leeCadena están incluidos en la librería leearreglo.h, al cual invocamos en el comienzo del código, pero no lo encuentra, ya que no lo puse en el mismo proyecto.
Por lo tanto ahora hacemos otra vez file – new – source file
copiamos el còdigo de leearreglo.h
lo compilamos, y cuando nos pide un nombre, lo ponemos exactamente como este: leearreglo.h esto es muy importante, ya que es el nombre que invocamos en el código, el .h indica que es solo una librería, o sea no se le podrá ejecutar solo, ya que no tiene un main() en su código.
Ahora compilamos, y todavía habrá un error más, lo que pasa es que cuando yo compile con g++ no me votó ese error, o no lo consideró como error.
pero en dev-C++ debemos cambiar el tipo de dato de retorno void del ‘main()’ con un int, y darle un valor de retorno de 0.
int main ( )
{
.
.
.
return 0;
}
el main debe quedar como ese.
ahora sí, volvemos a compilar y todo ok!
es seguro que en los demás códigos también se encuentre ese problema, pues dev-C++, no acepta en el main un valor void, o eso es lo que parece!!!
saludos….
hola una pregunta mira yo estoy utilizando la sodificación de ordenamiento shell y me sale dos errores una es en esta :
leeCadena(n,A);
y la otra en esta:
muestraCadena(n,A);
estoy utilizando el lenguaje dev-C++
espero tu respuesta………………….
va a dar error si no incluyes la la libreria leearreglo.h, y el using namespace std; se usa para poder utilizar el cin>> el cout<< y el endl; en el código.
no entendi nada xD
kuak!
es un ordenamiento este es el codigo :
//Quick Sort
#include
#define largo 100
#include»leearreglo.h»
using namespace std;
void quicksort(int A[],int izq, int der )
{
int i, j, x , aux;
i = izq;
j = der;
x = A[ (izq + der) /2 ];
do{
while( (A[i] < x) && (j <= der) )
{
i++;
}
while( (x izq) )
{
j–;
}
if( i <= j )
{
aux = A[i]; A[i] = A[j]; A[j] = aux;
i++; j–;
}
}while( i <= j );
if( izq < j )
quicksort( A, izq, j );
if( i < der )
quicksort( A, i, der );
}
void main ()
{
int A[largo],n;
do{
cout<>n;
if(nlargo)
cout< a 0 y < a «<<largo<<endl;
}while(nlargo);
leeCadena(n,A);
quicksort(A,0,n-1);
muestraCadena(n,A);
}
para que sirve el using namespace std es que cuando lo compilo en el borland 5.01 me dice que hay error ahi.
bobo
ok alexandro, el #include «leearreglo.h», es una libreria que es invocada desde los programas realizados, más específicamente, son llamados desde todas las funciones de ordenamiento que hice, excepto desde heap sort. Presenta solo 2 procedimientos:
void leeCadena(int cant,int n[]) //pide el ingreso de numeros, dependiendo de la cantidad (int cant) mandada, y se almacena en el arreglo n[]
void muestraCadena(int cant,int n[]) // muestra todos los elementos del arreglo.
Si no incluyes esta libreria que adjunté al final de los 6 codigos de ordenamiento, los programas no correrán, exceptuando el heap sort que no necesita de esta libreria, pues debes tenerlo en el mismo proyecto si trabajas con algún IDE, o en la misma carpeta si compilas y ejecutas directamente.
saludos!!
epa man solo tengo una preguna que para que es esta sentencia #include»leearreglo.h»
como estás …
primeramente, no se con k compilador estás usando, en linux yo use g++
para compilar solo debes copiar el archivo a algun editor y guardarlo con extensión cpp.
luego compilar con:
$ g++ nombre_del_archivo.cpp -o nombre_del_archivo
para ejecutar:
$ ./nombre_del_archivo
suerte 🙂
no m korre ningun programa k puedo hacer
oye ermano por q no haces en codigo c++ un metodo de shell