Actividad Investigar Funciones Estándar
Enviado por monto2435 • 5 de Noviembre de 2018 • 1.135 Palabras (5 Páginas) • 571 Visitas
...
}
4.- FUNCIONES ESTANDAR DE BUSQUEDA Y ORDENAMIENTO DE DATOS
Ordenamiento Burbuja
Este es el algoritmo más sencillo probablemente. Ideal para empezar. Consiste en ciclar repetidamente a través de la lista, comparando elementos adyacentes de dos en dos. Si un elemento es mayor que el que está en la siguiente posición se intercambian.
Elaborar un ejercicio que ordene una lista de números con el método de ordenamiento burbuja.
#include
#define TAM 6
int main()
{
int lista[TAM]={12,10,5,6,1,3}; //Declaracion e Inicializacion de un array
int temp=0; //Variable temporal
int i,j; //variables corredoras del ciclo
printf("La lista DESORDENADA es: \n");
for (i=0;i
printf("%3d",lista[i]); //impresion de la lista con espacio de 3 lineas (%3d)
for (i=1;i
{
for (j=0;j
{
if (lista[j] > lista[j+1]) //condicion
{
temp = lista[j]; //temp guarda momentaneamente el valor de lista[j]
lista[j]=lista[j+1]; //Asigno al la posicion lista[j], lo que hay en lista[j+1]
lista[j+1]=temp; //obtendra un nuevo valor por parte de temp.
}
}
}
printf("\nLos valores ORDENADOS de lista son: \n");
for(i=0;i
printf("%3d",lista[i]);
return 0;
}
Ordenamiento Shell
El Shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos observaciones: El ordenamiento por inserción es eficiente si la entrada está "casi ordenada". El ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una posición cada vez.
El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.
Elaborar un programa que ordene una lista de números con el método shell.
#include
#include
int a[5];
int n=5;
void main()
{
int inter=(n/2),i=0,j=0,k=0,aux;
clrscr();
for (i=0; i{
printf("INSERTA UN VALOR DEL INDICE %d", i);
scanf("%d",& a);
}
while(inter>0){
for(i=inter;i{
j=i-inter;
while(j>=0) {
k=j+inter;
if(a[j]j--;
}
else{
aux=a[j];
a[j]=a[k];
a[k]=aux;
j=j-inter;
}
}
}
inter=inter/2;
}
for(i=0;i{
printf("%d n",a);
getch();
}
}
Ordenamiento Insercion
El método de "inserción" está basado en la técnica que utilizan los jugadores de cartas para odernar sus cartas. El jugador va insertando cada una de las cartas en la posición correspondiente.
Se considera una parte de la lista ya ordenada, ubicando cada elemento y colocándolo en el lugar que corresponde tomándo en cuenta su valor, como se muestra en la siguiente imágen:
[pic 2]
Elaborar un programa que ordene una lista de números con el método Insercion.
Elaborar un Programa que ordene una lista de números con el método de ordenación Inserción.
#include
#include
int a[4]={4,1,7,2};
int n=4;
int i,j,aux;
void main(){
clrscr();
for(i=1;i{
j=i;
aux=a;
while(j>0 && aux{
a[j]=a[j-1];
j--;
}
a[j]=aux;
}
for(i=0;i{
printf("%d",a);
}
getch();
}
...