Métodos de Ordenamiento
Métodos de Ordenamiento
Métodos de Ordenamiento
Dado que es muy simple de codicar, aunque no tiene los mejores tiempos de
ejecucin, es apropiado utilizarlo para arrays de datos relativamente pequeos.
Codificacin en c++
#include<iostream>
#include"leearreglo.h"
#define largo 50
int min,i,j,aux;
min=i;
min=j;
aux=A[min];
A[min]=A[i];
A[i]=aux ;
}
}
int main ()
int A[largo],n;
do{
if(n<=0||n>largo)
}while(n<=0||n>largo);
leeCadena(n,A);
seleccionsort(A,n);
muestraCadena(n,A);
Caractersticas.
Es un algoritmo sencillo de entender y de codicar.
Ventajas y Desventajas
La principal ventaja de este tipo de ordenamiento es su simplicidad. Tambin
exhibe un buen rendimiento cuando se trabaja con una pequea lista. El
ordenamiento por insercin es un algoritmo de ordenamiento en el lugar, de
modo que requiere de espacio mnimo. Su desventaja es que no funciona tan
bien como otros algoritmos mejores de ordenamiento. Con n al cuadrado pasos
requeridos para cada n elemento a ser ordenado, este algoritmo no funciona
bien con una lista grande. Por lo tanto, este slo es til cuando se ordena una
lista de pocos elementos.
Codificacin en c++
#include<iostream>
#include"leearreglo.h"
#define largo 50
int i,j,v;
v = A[i];
j = i - 1;
A[j + 1] = A[j];
j--;
}
A[j + 1] = v;
int main ()
int A[largo],n;
do{
if(n<=0||n>largo)
}while(n<=0||n>largo);
leeCadena(n,A);
insercionDirecta(A,n);
muestraCadena(n,A);
Codificacin en c++
#include"leearreglo.h"
#include <iostream>
int main()
int A[max],j,item,temp,i,k,n;
cin>>n;
for(i=1;i<=n;i++)
for(k=n;k>0;k--)
for(i=1;i<=k;i++)
item=A[i];
j=i/2;
A[i]=A[j];
i=j;
j=j/2;
A[i]=item;
temp=A[1];
A[1]=A[k];
A[k]=temp;
for(i=1;i<=n;i++)
return 0;
#include<iostream>
int main()
int i,j,k,cn;
int n[cn];
for(i=0;i<cn;i++)
cin>>n[i];
for(i=1;i<cn;i++)
for(j=0;j<cn-i;j++)
if(n[j]>n[j+1])
for(i=0;i<cn;i++)
{
cout<<n[i]<<endl;
cin.ignore();
return 0;
Caractersticas
El algoritmo de insercin directa se presentan en la seccin anterior realiza una
bsqueda lineal para encontrar la posicin en que para hacer la insercin. Sin
embargo, puesto que el elemento es insertado en una secuencia que ya est
ordenado, se puede utilizar una bsqueda binaria en lugar de una bsqueda lineal.
Mientras que una bsqueda lineal requiere O (n) comparaciones en el peor de los
casos, una bsqueda binaria slo requiere comparaciones. Por lo tanto, si el costo de
una comparacin es significativo, la bsqueda binaria puede ser preferible.
Ventajas y Desventajas
La ventaja de este mtodo respecto al de insercin directa es que se disminuye el
nmero de comparaciones, aunque el nmero de movimientos se mantiene del mismo
orden
Codificacin en c++
#include<iostream>
#include"leearreglo.h"
#define largo 50
int i,j,aux,izq,der,m;
for(i=1;i<n;i++)
{
aux = A[i];
izq=0;
der=i-1;
while(izq<=der)
m=((izq+der)/2);
if (aux<A[m])
der=m-1;
else
izq=m+1;
j=i-1;
while(j>=izq)
A[j+1]=A[j];
j=j-1;
A[izq]=aux;
int main ()
int A[largo],n;
do{
}while(n<=0||n>largo);
leeCadena(n,A);
insercionBinaria(A,n);
muestraCadena(n,A);
Librera leearreglo.h
#include<iostream>
int i;
for(i=0;i<cant;i++)
cin>>n[i];
int i;
for(i=0;i<cant;i++)
{
cout<<n[i]<<endl;