nashleon, eu já dei uma olhada rápida nele e parece ser bom... Valeu a dica.
Vou aproveitar e postar dois métodos avançados de ordenação.
--> Shell Sort
Código:
void Shell(char *v, int t)
{
register int j, i, x, k, n;
int g[5] = {9,5,3,2,1};
for (k = 0; k < 5; k++)
{
n = g[k];
for (i = n; i < t; ++i)
{
x = v[i];
for (j = i-n; x < v[j] && j > -1; j = j-n)
v[j+n] = v[j];
v[j+n] = x;
}
}
}
--> Quick Sort
Código:
void QuickSort(char *v, int ini, int fim)
{
int i, f;
char p, aux;
i = ini;
f = fim;
p = v[(ini+fim)/2];
do{
while(v[i] < p) i++;
while(v[f] > p) f--;
if (i <= f)
{
aux = v[i];
v[i] = v[f];
v[f] = aux;
i++; f--;
}
}while (i < f);
if (f > ini) QuickSort(v, ini, f);
if (i < fim) QuickSort(v, i, fim);
}