27 de octubre de 2010
Metodos de Ordenamiento (Parte 2)
int burbuja1(int X[Max], int dimX)//Burbuja 1 (de derecha a Izquierda)
{
int N,i,aux,j;
int comienzo;
comienzo=clock();
N=dimX;
for(i=1;i<N;){
for(j=N-1;j>0;){
if(X[j-1]>X[j]){
aux=X[j-1];
X[j-1]=X[j];
X[j]=aux;
}
j=j-1;
}
i=i+1;
}
printf( "\n\nNumero de segundos transcurridos desde el comienzo del programa: %f s\n", (clock()-comienzo)/(double)CLOCKS_PER_SEC );
}
//-->2
int burbuja2(int X[Max], int dimX)//Burbuja 2 (de izquierda a derecha)
{
int N,i,aux,j;
int comienzo;
comienzo=clock();
N=dimX;
for(i=1;i<N;){
for(j=0;j<N-1;){
if(X[j]>X[j+1]){
aux=X[j];
X[j]=X[j+1];
X[j+1]=aux;
}
j=j+1;
}
i=i+1;
}
printf( "\n\nNumero de segundos transcurridos desde el comienzo del programa: %f s\n", (clock()-comienzo)/(double)CLOCKS_PER_SEC );
}
//-->3
int burbujaConSenal(int X[Max], int dimX)//Burbuja con SEÑAL
{
int i,j,aux,n,comienzo;
bool band;
i=1,band=false;
n=dimX;
comienzo=clock();
do{
band=true;
for(j=1;j<=n-1;){
if(X[j]>X[j+1]){
aux=X[j];
X[j]=X[j+1];
X[j+1]=aux;
band=false;
}
j=j+1;
}
}
while(i<=n-1 && band==false);
printf( "\n\nNumero de segundos transcurridos desde el comienzo del programa: %f s\n", (clock()-comienzo)/(double)CLOCKS_PER_SEC );
}
//-->4
int sacudida(int X[Max], int dimx)
{
int N,i,aux,j,k,comienzo;
int IZQ,DER;
bool BAND;
comienzo=clock();
N=dimx;
IZQ=1;
DER=N-1;
k=N-1;
while(IZQ<=DER){
for(i=0;i<N-1;){
for(j=DER;j>=IZQ;){
if(X[j-1]>X[j]){
aux=X[j-1];
X[j-1]=X[j];
X[j]=aux;
k=i;
}
j=j-1;
}
i=i+1;
}
IZQ=k+1;
for(i=0;i<N-1;){
for(j=IZQ;j>=DER;){
if(X[j-1]>X[j]){
aux=X[j-1];
X[j-1]=X[j];
X[j]=aux;
k=i;
}
j=j-1;
}
i=i+1;
}
DER=k-1;
}
printf( "\n\nNumero de segundos transcurridos desde el comienzo del programa: %f s\n", (clock()-comienzo)/(double)CLOCKS_PER_SEC );
}
//-->6
int ordenxinserdirec(int X[Max],int dimX)
{
int i,k,aux,val,comienzo;
comienzo=clock();
for(i=1;i<=dimX;i++){
aux=X[i];
k=i-1;
while(k>=0&&aux<X[k]){
val=X[k+1];
X[k+1]=X[k];
X[k]=X[k+1];
k=k-1;
}
X[k+1]=aux;
}
printf( "\n\nNumero de segundos transcurridos desde el comienzo del programa: %f s\n", (clock()-comienzo)/(double)CLOCKS_PER_SEC );
}
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario