Ragazzi adesso devo fare un quicksort per ordinare caratteri, il solo problema sta nel randomizzare un carattere presente nel vettore cosi da poter far funzionare il quicksort ecco il codice:
codice:
void quicksort(tvettchar &vc, int inf, int sup){
int I,J;
char centro;
srand(time(NULL));
if (inf<sup) {
// Partenza: i parte dal primo elemento del vettore, j dall'ultimo
I = inf; J = sup;
// Il centro è l'elemento medio del vettore
centro = rand() % - ;//non so come fare per randomizzare un carattere all interno del vettore
do{
// Finché l'elemento generico i-esimo a sinistra del pivot
// è minore del centro, incrementa i
if(vc[I] < vc[centro])
I++;
else
// Finché l'elemento generico j-esimo a destra del centro
// è maggiore del centro, decrementa j
if(vc[J] > vc[centro])
J--;
else
// Altrimenti, scambia tra loro l'elemento i-esimo e quello j-esimo
if(I <= J) {
scambia(vc[I],vc[J]);
I++, J--;
}
} while (I <= J); // Cicla finché i e j non si incontrano
// Richiama il quick sort sul primo sottovettore
quicksort(vc,inf,J);
// Richiama il quick sort sul secondo sottovettore
quicksort(vc,I,sup);
}
}