Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ordenación y mezcla.
7.1 Búsqueda
Consiste en comprobar si un determinado elemento esta o no en el vector y encontrar que
posición ocupa.
Existen la búsqueda en listas sin ordenar y búsqueda en listas ordenadas
Es absurdo utilizar un bucle for pues obliga a hacer todas las comparaciones. Por ello, lo mas
recomendable es utilizar el bucle do while.
int dato = 8 ;
int vector[TAM] ;
int izquierda, derecha, medio ;
int encontrado = 0 ;
izquierda = 0 ;
derecha = TAM - 1 ;
medio= (izquierda + derecha) / 2 ;
do{
if (vector[medio] == dato){
encontrado=1;
}
else{
if(vector[medio] > dato){
derecha = medio - 1 ;
}
else{
izquierda = medio + 1 ;
}
fi
}
}while (encontrado==0 && izquierda<derecha);
if (encontrado == 1){
printf(“El número está en la posición %i”, i); //Da la posición real en el vector, si queremos
se puede cambiar a (i+1) para mejor orientación del lector.
}
else{
printf(“El número no está en el vector”);
}
struct tipoAlumno aux; // se introduce el auxiliar como un struct y no como una variable.
If (listadoM31[ i ].notaMedia>listadoM31[i+1].notaMedia){
aux=listadoM31[ i ];
listadoM31[ i ]=listadoM31[i+1];
listadoM31[i+1]=aux;
}
Consiste en localizar los elementos mayores o menores de uno en uno para ir ordenándolos.