📌  相关文章
📜  Java程序按字典顺序(字典顺序)对元素进行排序

📅  最后修改于: 2020-09-26 18:50:33             🧑  作者: Mango

在此程序中,您将学习使用for循环以及如果使用Java,则按字典顺序对元素词进行排序。

示例:按字典顺序对字符串排序的程序
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 < 4; ++j) {
        if (words[i].compareTo(words[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]);
    }
  }
}

输出

In lexicographical order:
C
Java
Python
Ruby

在上述程序中,要排序的5个单词的列表存储在变量word中。

然后,我们遍历每个单词(words [i]),并将其与数组中之后的所有单词(words [j])进行比较。这是通过使用字符串的compareTo()方法完成的。

如果compareTo()的返回值大于0,则必须在位置上交换它,即,单词[i]在单词[j]之后。因此,在每次迭代中,单词[i]包含最早的单词。

Execution Steps
Iteration Initial words i j words[]
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" }