codigo de metodo de shakesort de ordenamiento
TRANSCRIPT
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int jona[50],i,izq,der,k,aux,n;
textcolor(WHITE);
textbackground(BLUE);
clrscr();
gotoxy(15,2); cout<<"*****************************************\n";
gotoxy(15,3); cout<<"******* METODO DE ORDENAMIENTO *******\n";
gotoxy(15,4); cout<<"******* SHAKE SORT *******\n";
gotoxy(15,5); cout<<"*****************************************\n\n";
gotoxy(15,8); cout<<"INGRESE Nro DE ELEMENTOS A ORDENAR :";
cin>>n;
// INGRESAMOS LOS DATOS
cout<<"\n";
for(i=0;i<n;i++)
{
cout<<"["<<(i+1)<<"]=";
cin>>jona[i];
}
izq=1;
der=n;
k=n;
// EL (DO=REPETIR) PARA QUE SE REPITA VARIAS VECES.
do
{
for(i=der;i>=izq;i--) // Esta ordenando de derecha a izquierda
{ // para valores MENORES
if(jona[i-1]>jona[i])
{
aux=jona[i-1];
jona[i-1]=jona[i];
jona[i]=aux;
k=i;
}
}
izq=k+1;
for(i=izq;i<=der;i++) // ordenando de izquierda a derecha
{ // para valores MAYORES
if(jona[i-1]>jona[i])
{
aux=jona[i-1];
jona[i-1]=jona[i];
jona[i]=aux;
k=i;
}
}
der=k-1;
} //cierra repetir
while(izq<=der); // hasta que el valor de
// izquierda sea menor que la derecha.
cout<<"\n*****ELEMENTOS ORDENADOS*****\n\n";
for(i=0;i<n;i++)
{
cout<<jona[i]<<setw(4);
}
getch();
}