Obbligato!![]()
Obbligato!![]()
Risolto!Posto il codice completo nel caso fosse utile a qualcun'altro!
Ciauz
codice:public class OrdinaTesto { /* Costruttore */ public OrdinaTesto() {} /* Metodi */ public static void ordinaCrescente(String testo[]) { String testoTemp[]; testoTemp = new String[testo.length]; mergeSort(testo, testoTemp, 0, testo.length-1); } public static void mergeSort(String[] testo, String[] testoTemp, int inf, int sup) { if(inf == sup) return; int m = (inf+sup)/2; mergeSort(testo, testoTemp, inf, m); mergeSort(testo, testoTemp, m+1, sup); merge(testo, testoTemp, inf, m+1, sup); } public static void merge(String[] testo, String[] testoAux, int inf, int med, int sup) { int endSx = med-1; int posAux = inf; int numElem = sup-inf+1; while (inf <= endSx && med <= sup) if(testo[inf].compareTo(testo[med]) <= 0) testoAux[posAux++] = testo[inf++]; else testoAux[posAux++] = testo[med++]; while (inf <= endSx) testoAux[posAux++] = testo[inf++]; while (med <= sup) testoAux[posAux++] = testo[med++]; for (int i=0; i<numElem; i++,sup--) testo[sup] = testoAux[sup]; } }
Ti prego non utilizzare quella classe ...
Ti passo del codice JAVA che ordina delle liste. Dagli un'occhiata e pensa, successivamente, a cosa hai scritto te e quante mila volte è più semplice conoscere bene un linguaggio e/o documentarsi su di esso prima di scrivere qualcosa ...codice:// Create a list String[] strArray = new String[] {"z", "a", "C"}; List list = Arrays.asList(strArray); // Sort Collections.sort(list); // C, a, z // Case-insensitive sort Collections.sort(list, String.CASE_INSENSITIVE_ORDER); // a, C, z // Reverse-order sort Collections.sort(list, Collections.reverseOrder()); // z, a, C // Case-insensitive reverse-order sort Collections.sort(list, String.CASE_INSENSITIVE_ORDER); Collections.reverse(list);
Fammi un favore personale, non scrivere mai più metodi ricorsivi ... grazie.
Ti ringrazio per la risposta!
Comunque conosco la classe, solo che dovevo essere io a riprodurre un algoritmo tra i più efficienti (con costo minore di tempo dunque) per risolvere il problema!
Ciauz
in che uni sei? Ing info o Info?Originariamente inviato da pumax84
Ti ringrazio per la risposta!
Comunque conosco la classe, solo che dovevo essere io a riprodurre un algoritmo tra i più efficienti (con costo minore di tempo dunque) per risolvere il problema!
Ciauz
Le comunicazioni private non strettamente inerenti alla discussione e alla risoluzione del problema posto vanno fatte - appunto - in privato.Originariamente inviato da ascatem2
in che uni sei? Ing info o Info?
Usa i messaggi privati: lì puoi fare tutte le chiacchiere che vuoi.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
scusami!! hai pefettamente ragioneOriginariamente inviato da alka
Le comunicazioni private non strettamente inerenti alla discussione e alla risoluzione del problema posto vanno fatte - appunto - in privato.
Usa i messaggi privati: lì puoi fare tutte le chiacchiere che vuoi.![]()
Ing. Informatica!
EDIT/
Scusate, non avevo visto la segnalazione del moderatore! Sorry anche da parte mia.![]()
sembrerà stupido...
ma hai provato con Collections.sort(<tuo array>);
??? implementa già il mergeSort all'interno...VVoVe:
Let's your dream came true!
Mi autoquoto...
Originariamente inviato da pumax84
Comunque conosco la classe, solo che dovevo essere io a riprodurre un algoritmo tra i più efficienti (con costo minore di tempo dunque) per risolvere il problema!![]()