do{
while(v[i]<x && i<r) i++;
while(v[j]>x && j>l) j--;
if(i<=j)
{
temp=v[i];
v[i]=v[j];
v[j]=temp;
i++;
j--;
}
}while(i<=j);
if (i<r) Qsort(v,i,r);
if (l<j) Qsort(v,l,j);
Mtodos de Bsqueda
1) Bsqueda Secuencial
Este algoritmo compara uno a uno los elementos del arreglo hasta recorrerlo por completo indicando si el nmero
buscado existe.
int busquedaSecuencial(float x[], int n, float dato)
{
int i;
for(i=0;i<n;i++)
{
if(x[i]==dato)
return i;
}
return -1;
}
La funcin de bsqueda devuelve la posicin donde encuentra el dato, si el dato no se encuentra devuelve -1.
2) Bsqueda Binaria
Para poder aplicar este algoritmo se requiere que el arreglo este ordenado.
Este algoritmo permite buscar de una manera ms eficiente un dato dentro de un arreglo, para hacer esto se determina
el elemento central del arreglo y se compara con el valor que se esta buscando, si coincide termina la bsqueda y en caso
de no ser as se determina si el dato es mayor o menor que el elemento central, de esta forma se elimina una mitad del
arreglo junto con el elemento central para repetir el proceso hasta encontrarlo o tener solo un elemento en el arreglo.
int busquedaBinaria(float x[], int n, float dato)
{
int izq,der,central;
izq = 0;
der = n-1;
central = (izq+der)/2;
while (dato != x[central] && izq <= der )
{
if(dato > x[central])
izq = central+1;
else
der = central-1;
central=(izq+der)/2;
}
if (dato == x[central])
return central;
else
return -1;
}
1)
2)
3)
Ordene una lista de invitados a una fiesta segn sus apellidos. Si tienen los mismos apellidos, deber tambin
ordenar por nombres.
4)
Se tiene informacin de n alumnos (nroCarnet, nombre y promedio). Mostrar una lista ordenada
alfabticamente y otra lista por orden de mrito.
5)
Se tiene 2 arreglos ordenados. Mzclelos de tal forma que se cree un tercer arreglo que siempre se mantenga
6)
7)
Encuentre la mediana de un conjunto de datos. La mediana se obtiene ordenando los datos de menor a mayor y
tomando el elemento central. Si la cantidad de elementos es impar es el termino central en caso contrario si la
8)
9)
Se tiene un diccionario electrnico con n palabras y sus respectivos significados. Busque una palabra y muestre
su significado. Use bsqueda binaria.
10) Implemente la bsqueda binaria de manera recursiva para encontrar un elemento de un vector.
11) Implemente el ordenamiento por Burbuja recursivamente.
12) Lea un polinomio y ordnelo segn su grado.