ASEISI
Welcome, Guest
Please Login or Register.    Lost Password?
metodo de la burbuja
(1 viewing) 1 Guest
Programacion 1
Go to bottom Favoured: 1
TOPIC: metodo de la burbuja
#23
kakuzu
Novato
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
metodo de la burbuja 10 Months, 1 Week ago Karma: -1
este es un ejemplo de varios metodos de ordenamiento equivalentes al metodo de la burbuja, tambien hay un ejemplo de este. esta bastante sencillo
 
Logged Logged
  The administrator has disabled public write access.
#24
kakuzu
Novato
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
Re:metodo de la burbuja 10 Months, 1 Week ago Karma: -1
/* Programado por HACKPRO TM 2001. Todos los derechos reservados*/
#include <stdio.h>

int Cantidad, opcion, i, Vector[100], j, k, Aux, intb, l, Mayor, Posmayor, Volver, Central;


/*SUBRUTINA DE QUICK SORT*/
void partir(int primero,int ultimo)
{i=primero;
j=ultimo;
Central= Vector[(primero+ultimo)/2];
while (i<=j)
{while (Vector[i]<Central)
{i=i+1;}
while (Vector[j]>Central)
{j=j-1;}
if (i<=j)
{printf("\n\nCambiando... Vector[%d]=%d por Vector[%d]=%d\n",j,Vector[j],i,Vector[i]);
Aux=Vector[i];
Vector[i]=Vector[j];
Vector[j]=Aux;
for(k=1;k<=Cantidad;k++)
{printf("\t%d",Vector[k]);}
i=i+1;
j=j-1;
}
}
if(primero<j)
{partir(primero,j);}
if(i<ultimo)
{partir(i,ultimo);}
}


/*METODO QUICK SORT*/
void Quick_Sort()
{printf("\n\n\tCuantos numeros seran introducidos: ");
scanf("%d",&Cantidad);
printf("\n");
for(i=1;i<=Cantidad;i++)
{printf("\tVector[%d]=",i);
scanf("%d",&Vector[i]);
}
partir(1,Cantidad);
printf("\n\n\t\tVECTOR ORDENADO\n");
for(i=1;i<=Cantidad;i++)
{printf("\t%d",Vector[i]);}
}


/*METODO DE SHELL*/
void Shell()
{printf("\n\n\tCuantos numeros seran introducidos: ");
scanf("%d",&Cantidad);
printf("\n");
for(i=1;i<=Cantidad;i++)
{printf("\tVector[%d]=",i);
scanf("%d",&Vector[i]);
}
intb = Cantidad / 2;
while(intb>0)
{for(i=intb+1;i<=Cantidad;i++)
{j = i - intb;
while(j>0)
{k = j + intb;
if(Vector[j]<Vector[k])
{j=0;}
else
{printf("\n\n\tCambiando... Vector[%d]=%d por Vector[%d]=%d\n",j,Vector[j],k,Vector[k]);
Aux = Vector[j];
Vector[j] = Vector[k];
Vector[k] = Aux;
for(l=1;l<=Cantidad;l++)
{printf("\t%d",Vector[l]);}
}
j = j - intb;
}
}
intb = intb / 2;
}
printf("\n\n\t\tVECTOR ORDENADO\n");
for(i=1;i<=Cantidad;i++)
{printf("\t%d",Vector[i]);}
}


/*METODO DE SELECCION*/
void Seleccion()
{printf("\n\n\tCuantos numeros seran introducidos: ");
scanf("%d",&Cantidad);
printf("\n");
for(i=1;i<=Cantidad;i++)
{printf("\tVector[%d]=",i);
scanf("%d",&Vector[i]);
}
for(i=1;i<=Cantidad-1;i++)
{Mayor=Vector[i];
Posmayor=i;
for(j=i+1;j<=Cantidad;j++)
{if(Vector[j]<Mayor)
{Mayor=Vector[j];
Posmayor=j;
}
}
printf("\n\n\tCambiando... Vector[%d]=%d por Vector[%d]=%d\n",i,Vector[i],Posmayor,Vector[Posmayor]);
Aux=Vector[i];
Vector[i]=Vector[Posmayor];
Vector[Posmayor]=Aux;
for(l=1;l<=Cantidad;l++)
{printf("\t%d",Vector[l]);}
}
printf("\n\n\t\tVECTOR ORDENADO\n");
for(i=1;i<=Cantidad;i++)
{printf("\t%d",Vector[i]);}
}


/*METODO DE BURBUJA*/
void Burbuja()
{printf("\n\n\tCuantos numeros seran introducidos: ");
scanf("%d",&Cantidad);
printf("\n");
for(i=1;i<=Cantidad;i++)
{printf("\tVector[%d]=",i);
scanf("%d",&Vector[i]);
}
for(i=1;i<=Cantidad-1;i++)
{for(j=1;j<=Cantidad-1;j++)
{if(Vector[j+1]<Vector[j])
{printf("\n\n\tCambiando... Vector[%d]=%d por Vector[%d]=%d\n",j+1,Vector[j+1],j,Vector[j]);
Aux=Vector[j+1];
Vector[j+1]=Vector[j];
Vector[j]=Aux;
for(k=1;k<=Cantidad;k++)
{printf("\t%d",Vector[k]);}
}
}
}
printf("\n\n\t\tVECTOR ORDENADO\n");
for(i=1;i<=Cantidad;i++)
{printf("\t%d",Vector[i]);}
}


/*PROGRAMA PRINCIPAL*/
void main()
{do
{printf("\n\n\n\n\n\n\t\t\t\t\tMETODOS DE ORDENAMIENTO");
printf("\n\n\t\t\t\t1. BURBUJA");
printf("\n\t\t\t\t2. SELECCION");
printf("\n\t\t\t\t3. SHELL");
printf("\n\t\t\t\t4. QUICK SORT");
printf("\n\t\t\t\t5. SALIDA");
printf("\n\n\t\t\t\tESCOJA UNA DE LAS OPCIONES [1-5]: ");
scanf("%d", &opcion);
switch(opcion)
{case 1:{Burbuja();
Volver=1;
break;
}
case 2:{Seleccion();
Volver=1;
break;
}
case 3:{Shell();
Volver=1;
break;
}
case 4:{Quick_Sort();
Volver=1;
break;
}
case 5:{Volver=0;
break;
}
}
}while(Volver);
}
 
Logged Logged
  The administrator has disabled public write access.
Go to top
Valid XHTML & CSS | Template Design ah-68 | Copyright © 2009 by aseisi.org