Busqueda Binaria
Este algoritmo permite buscar de una manera más eficiente un dato dentro de un arreglo, para hacer esto se determina el elemento central del arreglo y se compara con el valor que seesta buscando, si coincide termina la busqueda y en caso de no ser asi se determina si el dato es mayor o menor que el elemento central, de esta forma se elimina una mitad del arreglo junto con elelemento central para repetir el proceso hasta encontrarlo o tener solo un elemento en el arreglo. Para poder aplicar este algorimo se requiere que el arreglo este ordenado. Su implementación es lasiguiente:
#include
#include
#include
#define TAM 15
void main(){
int a[TAM], busca, temp, bajo, alto, central;
printf("Llenando el arreglo con números aleatorios\n");randomize(); //Inicializa el generador de aleatorios
for (int i=0; i< TAM; i++)
a[i]=random(100);
//Implementacion de Ordenamiento por burbuja de menor a mayor
printf ("Ordenando arreglo...\n");for (int j=1; j a[i+1]){
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
//Implementacion de busqueda binaria
printf ("\nIntroduce un numero a buscar: ");scanf ("%d", &busca);
bajo = 0;
alto = TAM-1;
central = (bajo+alto)/2;
while (bajo < alto && busca != a[central]){
if(busca > a[central])
bajo = central+1;
else
alto =central-1;
central=(bajo+alto)/2;
}
if (busca == a[central])
printf("\n%d encontrado en posicion %d", busca, central);
else
printf("\n%d no existe", busca);
printf ("\n\nElarreglo ordenado era\n\n");
for (i=0; i< TAM; i++)
printf ("%d ", a[i]);
getch();
}
Arriba
Estructuras de datos
Las estructuras se definen como conjuntos de datos de diferente tipo. Sepueden declarar de las siguentes maneras:
struct nomina
{
char nom[80];
char puesto[40];
float sueldo;
int id;
}
struct nomina empleado_1, empleado_2, empleado[50];
struct...
Regístrate para leer el documento completo.