Program Java pentru sortarea elementelor în ordine lexicografică (ordinea dicționarului)

În acest program, veți învăța să sortați cuvintele element în ordine lexicografică folosind o buclă for și dacă altceva în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Java pentru buclă
  • Java dacă … altfel Declarație
  • Șir Java

Exemplu: Program pentru sortarea șirurilor în ordinea dicționarului

 public class Sort ( public static void main(String() args) ( String() words = ( "Ruby", "C", "Python", "Java" ); for(int i = 0; i < 3; ++i) ( for (int j = i + 1; j 0) ( // swap words(i) with words(j( String temp = words(i); words(i) = words(j); words(j) = temp; ) ) ) System.out.println("In lexicographical order:"); for(int i = 0; i < 4; i++) ( System.out.println(words(i)); ) ) )

Ieșire

 În ordine lexicografică: C Java Python Ruby

În programul de mai sus, lista de 5 cuvinte care trebuie sortate este stocată într-o variabilă, cuvinte.

Apoi, parcurgem fiecare cuvânt (cuvinte (i)) și îl comparăm cu toate cuvintele (cuvinte (j)) după acesta în matrice. Acest lucru se face folosind metoda compareTo () a șirului.

Dacă valoarea returnată a compareTo () este mai mare decât 0, trebuie schimbată în poziție, adică cuvintele (i) vin după cuvintele (j). Deci, în fiecare iterație, cuvintele (i) conțin cel mai vechi cuvânt.

Pași de execuție
Repetare Cuvinte inițiale eu j cuvinte ()
1 ( "Ruby", "C", "Python", "Java" ) 0 1 ( "C", "Ruby", "Python", "Java" )
2 ( "C", "Ruby", "Python", "Java" ) 0 2 ( "C", "Ruby", "Python", "Java" )
3 ( "C", "Ruby", "Python", "Java" ) 0 3 ( "C", "Ruby", "Python", "Java" )
4 ( "C", "Ruby", "Python", "Java" ) 1 2 ( "C", "Python", "Ruby", "Java" )
5 ( "C", "Python", "Ruby", "Java" ) 1 3 ( "C", "Java", "Ruby", "Python" )
Final ( "C", "Java", "Ruby", "Python" ) 2 3 ( "C", "Java", "Python", "Ruby" )

Articole interesante...