Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    array di stringhe in ordine alfabetico

    conoscete qualche algoritmo per ordinare in ordine alfabetico array di stringhe???

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    167
    In quale linguaggio ?
    Comunque ad esempio in C o C++ basta utilizzare un qualsiasi algoritmo di ordinamento numerico e il confronto tra due stringhe lo si fa con la funzione strcmp, tenendo conto delle differenze tra lettere minuscole e maiuscole.

  3. #3
    a me servirebbe per java!!
    volevo sapere più che altro se c' era qualcosa di più diretto!

  4. #4
    Ti scrivo tutto il sorgente cosi se lo capisci meglio:
    codice:
    import java.io.*;
    
    class IOarray2{
    public static void main(String[] argomenti){
    System.out.println("Metti:");
    BufferedReader IN=new BufferedReader(new InputStreamReader(System.in));
    String[] my=new String[100];
    int i = -1;
    do{
    	i++;
    	try{my[i]=IN.readLine();} catch(IOException e){}
    } while(my[i].compareTo("end")!=0);
    /*questo qua sotto è il fulcro del riordinamento!!!*/
    for(int j = 0; j < i; j++){
    	for(int k = 0; k < (i-j-1); k++){
    		if(my[k].compareTo(my[k+1]) > 0){
    			String appoggio = my[k];
    			my[k] = my[k+1];
    			my[k+1] = appoggio;
    		}
    	}
    }
    /*E qui finisce*/
    System.out.println("Risultato:\n\n");
    for(int j=0; j<i; j++)
    	System.out.println("-"+my[j]);
    }
    }
    Spero di esserti stato utile, per qualsiasi problemi io sono qua!!!
    Ci provo...e ci riesco!!!
    http://kings.altervista.org

  5. #5
    C`e` il metodo statico sort() della classe utility Arrays:

    codice:
    String[] array = { "Ciao", "Buongiorno", "Arrivederci", "Notte" };
    
    Arrays.sort( array );
    Altrimenti, per mantenere una struttura di dati costantemente ordinata, iterabile ordinatamente e con tempi di accesso rapidi usa un TreeSet (o TreeMap).

    Tutto in java.util.

  6. #6
    Originariamente inviato da ZIko
    Ti scrivo tutto il sorgente cosi se lo capisci meglio:
    codice:
    import java.io.*;
    
    class IOarray2{
    public static void main(String[] argomenti){
    System.out.println("Metti:");
    BufferedReader IN=new BufferedReader(new InputStreamReader(System.in));
    String[] my=new String[100];
    int i = -1;
    do{
    	i++;
    	try{my[i]=IN.readLine();} catch(IOException e){}
    } while(my[i].compareTo("end")!=0);
    /*questo qua sotto è il fulcro del riordinamento!!!*/
    for(int j = 0; j < i; j++){
    	for(int k = 0; k < (i-j-1); k++){
    		if(my[k].compareTo(my[k+1]) > 0){
    			String appoggio = my[k];
    			my[k] = my[k+1];
    			my[k+1] = appoggio;
    		}
    	}
    }
    /*E qui finisce*/
    System.out.println("Risultato:\n\n");
    for(int j=0; j<i; j++)
    	System.out.println("-"+my[j]);
    }
    }
    Spero di esserti stato utile, per qualsiasi problemi io sono qua!!!

    ECCELLENTE!!!!
    era proprio quello che mi serviva!!!
    mi mancava solo il metodo compareTo(), la strada che avevo preso era molto simile solo che trasformavo l' array di stringhe in un array bidimensionale di char e poi lo ordinavo per la prima lettera al primo giro e se trovava parole con lettere iniziali uguali .....

    guarda è pure lungo da spiegare figurati il lavoro della JVM!!!
    grazie!!

  7. #7
    Oddio, se ti affidi alle prestazioni e` meglio che usi l`API, ma se e` a scopo didattico anche il bubble sort di Ziko va piu` che bene (con qualche ritocchino per dare piu` flessibilita` al codice..).

  8. #8
    Sono veramente commosso è la prima volta che qualcuno mi fa i complimenti per come programmo se ti può interessare ho creato un altro programma con lo stesso procedimeto ma molto più complesso e capace di gestire dati personali, quali data nome congnome(hihihihi)
    Ciao ciao...
    Ci provo...e ci riesco!!!
    http://kings.altervista.org

  9. #9
    Ziko, allora ti propongo un esercizio. Generalizza quegli algoritmi applicandoli ad un array di oggetti Comparable, in modo da poterli utilizzare per qualunque tipo di array.

  10. #10
    emmmm Comparable???
    Ci provo...e ci riesco!!!
    http://kings.altervista.org

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.