RE:¡¡la dichosa BURBUJA!!
Aquí lo tienes:
/****************************************************************************
* Funcion: int BubbleSort(int *tabla, int P, int U)
*
* Rutina que ordena una tabla introducida.
*
* Entrada: Un puntero a una tabla de enteros, un entero que marca el *inicio de la tabla y uno que marca el final
*
* Salida: OK si se ha conseguido ordenar la tabla
*
****************************************************************************/
int BubbleSort(int *tabla, int P, int U)
{
int i;
BOOLEANO flag=SI;
if (tabla==NULL)
return ERR;
if (P > U) /* Si los limites son erroneos terminamos */
return ERR;
while ( (P<U) && (flag==SI) )
{
flag = NO;
for (i=P; i<U; i++)
if (tabla[i] > tabla[i+1])
{
swap(&tabla[i], &tabla[i+1]);
flag=SI;
}
U--;
}
return OK;
}
Si tienes algún problema o cualquier cosa dímelo, las prácticas de este año que tengo son de BubbleSort, MergeSort, HeapSort, QuickSort y árboles binarios.
Hasta pronto.