|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Città: Prov. Napoli
Messaggi: 1007
|
[Qualsiasi Linguaggio] Mi servirebbe un algoritmo per ordinare alfabeticamente.
Supponete di avere una array di stringhe conteneti delle parole che dovete mettere in ordine alfabetico! Come si fa?? Qualcuno ha qualche algoritmno già scritto??
Mi servirebbe in pascal ma ovviamente mi basta l'algoritmo poi per il codice non ho problemi! A livello molto generale io ho pensato che si dovrebbe controllare la prima lettera e ordinare le parole in base alla prima lettera. Poi tenendo conto della prima lettera ordinare alfabeticamente in base alla seconda lettere. Poi tenendo conto delle prime due lettere si dovrebbe ordinare ina base alla terza e così via... Ma ai fini pratici come si fa??? AIUTO!!
__________________
Se un uomo non si batte per le sue idee o le sue idee non valgono nulla o non vale nulla lui. (E. Pound) Trattative OK: Virtuoso; jeanluc666; Pumpkins; mstella; Imrahil; gratta; Trattative KO: --- |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2002
Città: somewhere in Europe
Messaggi: 2554
|
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2005
Città: Prov. Napoli
Messaggi: 1007
|
Qualche indicazione un po' più precisa??
![]() ![]()
__________________
Se un uomo non si batte per le sue idee o le sue idee non valgono nulla o non vale nulla lui. (E. Pound) Trattative OK: Virtuoso; jeanluc666; Pumpkins; mstella; Imrahil; gratta; Trattative KO: --- |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Clicca il link che ti ha postato
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
io ne ho uno molto semplice, forse prestazionalmente fa un po' schifo ma è facile da scrivere: si confronta sempre una coppia di elementi successivi n ed n+1 (a partire dai primi due):
se n > n+1 si scambiano i due elementi, n diventa n+1 della coppia successiva e l'elemento precedente ad n diventa n della coppia successiva. si continua a scambiarli ed a passare alla coppia precedente finché n+1 deve andare prima di n, o finché non si arriva all'inizio dell'array; se n < n+1 (i due elementi sono ordinati tra loro) n+1 diventa n e l'elemento successivo a n+1 diventa n+1 della coppia successiva. quando la coppia costituita dagli ultimi due elementi dell'array da ordinare sono ordinati tra loro, l'array è ordinato. nel caso peggiore (elementi nell'ordine inverso) richiede circa (N^2)/2 iterazioni Ultima modifica di Furla : 09-04-2006 alle 10:53. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2005
Città: Prov. Napoli
Messaggi: 1007
|
Quote:
Il quick sort lo conosco ma io intendevo un algoritmo scritto apposta per l'ordinamento alfabetico! Gli algoritmi di ordinamento in generale li conosco... Cmq ho risolto! Alla fine era moooolto più semplice di quanto pensassi... In pratica il PASCAL mi permette di confrontare 2 stringhe come se fossero degli interi... Mi spiego: posso scrivere "IF parola1 < parola2 THEN scambia di posto", quindi all fine non ho bisogno di andare a confrontare lettera per lettera... Grazie lo stesso cmq!
__________________
Se un uomo non si batte per le sue idee o le sue idee non valgono nulla o non vale nulla lui. (E. Pound) Trattative OK: Virtuoso; jeanluc666; Pumpkins; mstella; Imrahil; gratta; Trattative KO: --- |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:54.