Está en la página 1de 4

#include<stdio.

h>
voidimprimir_vector(inta[],intn){
inti;
printf("VectorOrdenado:\n\n");
for(i=0;i<n;i++){
printf("%d\n",a[i]);
}
}
voidf_ordenacion_burbuja_ascendente(inta[],intn){
intaux,j,pasada;
intinterruptor=1;
for(pasada=0;pasada<n1&&interruptor==1;pasada++){
//cicloexternoexternocontrolalacantidaddepasadas
interruptor=0;//nosehahechointercambiotodava

for(j=0;j<npasada1;j++){
//ciclointernocontrolacadapasada
if(a[j]>a[j+1]){
//elementosdesordenados
//esnecesariointercambio
interruptor=1;
aux=a[j];
a[j]=a[j+1];
a[j+1]=aux;
}//findeif
}//findeciclointerno
}//findecicloexterno
}//findeOrdBurbuja
voidf_ordenacion_burbuja_descendente(inta[],intn){
intaux,j,pasada;
intinterruptor=1;
for(pasada=0;pasada<n1&&interruptor==1;pasada++){
//cicloexternoexternocontrolalacantidaddepasadas
interruptor=0;//nosehahechointercambiotodava

for(j=0;j<npasada1;j++){
//ciclointernocontrolacadapasada
if(a[j]<a[j+1]){
//elementosdesordenados
//esnecesariointercambio
interruptor=1;
aux=a[j];
a[j]=a[j+1];
a[j+1]=aux;
}//findeif
}//findeciclointerno
}//findecicloexterno
}//findeOrdBurbuja
voidf_ordenacion_seleccion_ascendente(inta[],intn){
inti,j,indicemin;
floatauxiliar;

for(i=0;i<n1;i++){
indicemin=i;//posiciondelmenor
for(j=i+1;j<n;j++)
if(a[j]<a[indicemin])
indicemin=j;//nuevaposiciondelmenor
auxiliar=a[indicemin];//intercambiaposiciones
a[indicemin]=a[i];
a[i]=auxiliar;
}
}
voidf_ordenacion_seleccion_descendente(inta[],intn){
inti,j,indicemin;
floatauxiliar;
for(i=0;i<n1;i++){
indicemin=i;//posiciondelmenor
for(j=i+1;j<n;j++)
if(a[j]>a[indicemin])
indicemin=j;//nuevaposiciondelmenor
auxiliar=a[indicemin];//intercambiaposiciones
a[indicemin]=a[i];
a[i]=auxiliar;
}
}
voidf_ordenacion_insercion_ascendente(inta[],intn){
inti,j;
intencontrado=1;
floatauxiliar;
for(i=1;i<n;i++){//A[0],A[1],...,A[i1]estaordenado
auxiliar=a[i];
j=i1;
encontrado=0;
while((j>=0)&&!encontrado)
if(a[j]>auxiliar){//semuevedatohacialaderechaparalainsercion
a[j+1]=a[j];
j;
}else
encontrado=1;
a[j+1]=auxiliar;
}
}
voidf_ordenacion_insercion_descendente(inta[],intn){
inti,j;
intencontrado=1;
floatauxiliar;
for(i=1;i<n;i++){//A[0],A[1],...,A[i1]estaordenado
auxiliar=a[i];
j=i1;
encontrado=0;
while((j>=0)&&!encontrado)
if(a[j]<auxiliar){//semuevedatohacialaderechaparalainsercion
a[j+1]=a[j];
j;

}else
encontrado=1;
a[j+1]=auxiliar;
}
}
voidmain(){

//Lecturadelvector
intn;//dimensindelvector
inti;//ndicedelosvectores
intval;//variabletemporal
printf("Escribaeltamanodelvector:");
scanf("%d",&n);
intvector[n];
//Cargadelvector
for(i=0;i<n;i++){
printf("Escribaelelemento%ddelvector:",i+1);
scanf("%d",&val);
vector[i]=val;
printf("\n");
}
//MenPrincipal
intOpcion_Principal=0;
do{
//Presentaciondelmenuprincipal
printf("MenuPrincipal\n\n");
printf("1OrdenacinXBurbujaAscendente\n");
printf("2OrdenacinXBurbujaDescendente\n");
printf("3OrdenacinXSeleccionAscendente\n");
printf("4OrdenacinXSeleccionDescendente\n");
printf("5OrdenacinXInsercionAscendente\n");
printf("6OrdenacinXInsercionDescendente\n");
printf("7Salir\n\n");
printf("Porfavor,escribaelnumerodesuopcionypulseenter:");
scanf("%d",&Opcion_Principal);
//Accionessegnelmen
if(Opcion_Principal==1){
printf("ElementosOrdenadosXBurbujaEnFormaAscendente\n\n");
f_ordenacion_burbuja_ascendente(vector,n);
imprimir_vector(vector,n);
}elseif(Opcion_Principal==2){
printf("ElementosOrdenadosXBurbujaEnFormaDescendente\n\n");
f_ordenacion_burbuja_descendente(vector,n);
imprimir_vector(vector,n);
}elseif(Opcion_Principal==3){
printf("ElementosOrdenadosXSeleccionEnFormaAscendente\n\n");
f_ordenacion_seleccion_ascendente(vector,n);
imprimir_vector(vector,n);
}elseif(Opcion_Principal==4){
printf("ElementosOrdenadosXSeleccionEnFormaDescendente\n\n");
f_ordenacion_seleccion_descendente(vector,n);
imprimir_vector(vector,n);

}elseif(Opcion_Principal==5){
printf("ElementosOrdenadosXInsercionEnFormaAscendente\n\n");
f_ordenacion_insercion_ascendente(vector,n);
imprimir_vector(vector,n);
}elseif(Opcion_Principal==6){
printf("ElementosOrdenadosXInsercionEnFormaDescendente\n\n");
f_ordenacion_insercion_descendente(vector,n);
imprimir_vector(vector,n);
}elseif(Opcion_Principal==7){
printf("Opcion7...Salir");
}else{
printf("Opcionnodefinida\n");
}
}while(Opcion_Principal!=7);
}

También podría gustarte