Java選擇排序是一種經典的排序算法,它可以通過比較數組中的元素并交換它們的位置來將數組中的元素按照一定的順序排序。在這篇文章中,我們將使用Java選擇排序來對一組學生的姓名和成績進行排序。
public static void selectionSort(Student[] arr) { int n = arr.length; // 遍歷未排序部分的每一個元素 for (int i = 0; i< n-1; i++) { // 找到未排序部分中最小的元素 int minIndex = i; for (int j = i+1; j< n; j++) { if (arr[j].getScore()< arr[minIndex].getScore()) { minIndex = j; } } // 將最小元素交換到已排序部分的末尾 Student temp = arr[minIndex]; arr[minIndex] = arr[i]; arr[i] = temp; } } public static void main(String[] args) { Student[] students = { new Student("張三", 90), new Student("李四", 80), new Student("王五", 85), new Student("趙六", 92), new Student("錢七", 78) }; selectionSort(students); for (Student student : students) { System.out.println(student.getName() + " " + student.getScore()); } } class Student { private String name; private int score; public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public int getScore() { return score; } }
在上面的代碼中,我們定義了一個Student類來表示每個學生的姓名和成績,然后創建了一個包含5個學生的數組。我們將這個數組作為參數傳遞給selectionSort方法,該方法使用選擇排序對學生數組進行排序。最后,我們遍歷數組并打印出每個學生的姓名和成績,實現了對學生數組的排序。