题目:对10个数进行排序
程序分析:可以利用选择法,
即从后9个比较过程中,选择一个最小的与第一个元素交换,
以此类推,即用第二个元素与后8个进行比较,并进行交换。
public class 第二十八题数组的选择排序 {
public static void main(String[] args) {
/*
* 思路:从后面的数组中选择出最小的一个, 放到未排序数组的最左边
*/
int a[] = new int[] { 1, 3, 9, 7, 4, -1, 2, 0, -10, 20 };
selectionSort(a);
//打印数组
for (int m : a) {
System.out.print(m + " ");
}
}
// 选择排序
public static void selectionSort(int[] arr) {
int min;
// 遍历数组
for (int i = 0; i < arr.length; i++) {
min = arr[i];
// 从未排序的数组中找出最小值,放到arr[i]中
for (int j = i; j < arr.length; j++) {
if (arr[j] < min) {
min = arr[j];
arr[j] = arr[i];
arr[i] = min;
}
}
}
}
}