Uñas en Gel emprendedores CURSO-DE-UNAS-ACRILICAS.pdf
Tipos de Ordenamiento en C
1. #include <stdio.h>
int main(int ordenamiento, char** abraham){
int vec[100]; //vectorprintf("Los numeros que me diste fueron: ");
int au,i,n,a; // variables de ord burbuja
int opcion;
int index, j, minimo, temp, sum; //variables de tipos de ordenamiento
int pregunta;
while(1){
printf("Cuantos numeros quieres ordenar ordenar: ");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("Dame el No. %d: ",i);
scanf("%d",&vec[i]);
}
printf("Que tipo de Ordenamientoo quieres usar:");
printf("n1.tOrdenamiento tipo Burbuja");
//printf("n2.tOrdenamiento por Monticulos");
printf("n2.tOrdenamiento por Insercion");
//printf("n4.tOrdenamiento por Mezcla");
//printf("n5.tOrdenamiento Rapido");
printf("n3.tOrdenamiento por Seleccion");
printf("n4.tOrdenamiento de Shell");
printf("nDame el numero de la opcion que escogiste: ");
scanf("%d", &opcion);
switch(opcion){
case 1:
printf("Ordenamiento tipo Burbujan");
printf("Los numeros que me diste fueron: ");
for(i=1;i<=n;i++){
printf("%d ",vec[i]);
}
printf("nNumeros ordenamos: ");
for(i=2;i<=n;i++){ //algoritmo del buble sort
for(a=n;a>=i;a--){
if(vec[a-1] > vec[a]){
au=vec[a];
vec[a]=vec[a-1];
vec[a-1]=au;
}
}
}
for(i=1;i<=n;i++){ //muetro vector ordenado
printf("%d ",vec[i]);
}
printf("n");
break;
case 2:
printf("nOrdenamiento por Insercion");
printf("nLos numeros que me diste fueron: ");
2. for(i=1;i<=n;i++){
printf("%d ",vec[i]);
}
printf("nNumeros ordenamos: ");
for (i=1; i < n; i++) {
index = vec[i];
a = i-1;
while (a >= 0 && vec[a] > index) {
vec[a + 1] = vec[a];
a--;
}
vec[a+1] = index;
}
for(i=1;i<=n;i++){ //muetro vector ordenado
printf("%d ",vec[i]);
}
printf("n");
break;
case 3:
printf("nOrdenamiento por Seleccion");
printf("nLos numeros que me diste fueron: ");
for(i=1;i<=n;i++){
printf("%d ",vec[i]);
}
printf("nNumeros ordenamos: ");
for(i=0 ; i<n; i++){
minimo=i;
for(j=i+1 ; j<n ; j++){
if (vec[minimo] > vec[j]) minimo=j;
}
index=vec[minimo];
vec[minimo]=vec[i];
vec[i]=index;
}
for(i=1;i<=n;i++){ //muetro vector ordenado
printf("%d ",vec[i]);
}
printf("n");
break;
case 4:
printf("nOrdenamiento de Shell");
printf("nLos numeros que me diste fueron: ");
for(i=1;i<=n;i++){
printf("%d ",vec[i]);
}
printf("nNumeros ordenamos: ");
sum = n/2;
while (sum > 0) {
for (i=sum; i < n; i++){
j = i;
temp = vec[i];
while ((j >= sum) && (vec[j-sum] > temp)){
3. vec[j] = vec[j - sum];
j = j - sum;
}
vec[j] = temp;
}
sum /= 2;
}
for(i=1; i<=n; i++){ //muestro vector ordenado
printf("%d ",vec[i]);
}
printf("n");
break;
default:
printf("nError...!!! toma un numero que aparece.n");
}
printf("Quieres volver a repetirlo? n1. Si n0. No nRepetir: ");
scanf("%d", &pregunta);
if(pregunta==0){
break;
}
}
return 5;
}