Java選擇排序是一種經(jīng)典的排序算法,它可以通過(guò)比較數(shù)組中的元素并交換它們的位置來(lái)將數(shù)組中的元素按照一定的順序排序。在這篇文章中,我們將使用Java選擇排序來(lái)對(duì)一組學(xué)生的姓名和成績(jī)進(jìn)行排序。
public static void selectionSort(Student[] arr) { int n = arr.length; // 遍歷未排序部分的每一個(gè)元素 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("錢(qián)七", 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; } }
在上面的代碼中,我們定義了一個(gè)Student類來(lái)表示每個(gè)學(xué)生的姓名和成績(jī),然后創(chuàng)建了一個(gè)包含5個(gè)學(xué)生的數(shù)組。我們將這個(gè)數(shù)組作為參數(shù)傳遞給selectionSort方法,該方法使用選擇排序?qū)W(xué)生數(shù)組進(jìn)行排序。最后,我們遍歷數(shù)組并打印出每個(gè)學(xué)生的姓名和成績(jī),實(shí)現(xiàn)了對(duì)學(xué)生數(shù)組的排序。