PDA

Visualizza la versione completa : Ordinare


YOGHI87
30-04-2008, 15:15
salve, sapete dirmi come posso fare usando un algoritmo di ordinamento ad ordinare in ordine alfabetico dei cognomi? uso il linguaggio C, e con il quicksort sono buono ad ordinare una serie di numeri dal più grande al più piccolo ma con le lettere come faccio?GRAZIE :confused:

oregon
30-04-2008, 15:25
Lo fai anche con il quicksort ... come hai fatto con i numeri?

menphisx
30-04-2008, 15:29
Puoi usare un'array di indici, puoi confrontare le stringhe lessicograficamente, puoi ordinare lettera per lettera; ci sono tanti modi.
Puoi anche usare la funzione standard qsort().

YOGHI87
30-04-2008, 15:43
la funzione standard qsort CIOè?

menphisx
30-04-2008, 15:46
Ma google non esiste per te ? :dottò:

http://www.cplusplus.com/reference/clibrary/cstdlib/qsort.html

YOGHI87
30-04-2008, 17:11
Si ma con le lettere come faccio?

lesto
30-04-2008, 17:16
ricordati che in c i char in realtà sono int!!

oregon
30-04-2008, 17:18
Originariamente inviato da YOGHI87
Si ma con le lettere come faccio?

Da google ...

comparator
Function that compares two elements

In questa funzione devi fare il confronto tra le stringhe e restituire un risultato ... lo puoi fare con la funzione di libreria

strcmp

YOGHI87
30-04-2008, 17:25
Originariamente inviato da lesto
ricordati che in c i char in realtà sono int!!

In che senso? :confused:

lesto
30-04-2008, 17:33
in realtà un char e int sono la stessa cosa, cambia il nome per evitare al programmatore di fare confusione! se provi a stampare il %d di un char ti ritrovi il codice ascii corrispondente alla lettera... se poi quel valore lo metti in un int e provi a stampare il %c ti ritrovi la lettera... quindi la differenza tra int e char non esiste, cambia solo il modo in cui stampi i dati! spero di essere stato chiaro, altrimenti prova a dare un'occhiata alla tabella ascii e dovrebbe essere tutto + chiaro

Loading