I det här programmet lär du dig att sortera elementorden i leksikografisk ordning med hjälp av en for-loop och om så annars i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java för Loop
- Java if … else Uttalande
- Java-sträng
Exempel: Program för att sortera strängar i ordbokens ordning
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)); ) ) )
Produktion
I lexikografisk ordning: C Java Python Ruby
I ovanstående program lagras listan med fem ord som ska sorteras i en variabel, ord.
Sedan slingrar vi igenom varje ord (ord (i)) och jämför det med alla ord (ord (j)) efter det i matrisen. Detta görs med hjälp av strängens jämförelsemetod () -metod.
Om returvärdet för comparTo () är större än 0, måste det bytas i position, dvs. ord (i) kommer efter ord (j). Så i varje iteration innehåller ord (i) det tidigaste ordet.
Steg för utförandeIteration | Initiala ord | i | j | ord() |
---|---|---|---|---|
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" ) |
Slutlig | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |