选择排序的思想是, 每趟排序中,选择最小的数,加入到有序序列中.
例如上体育课,老师把同学随意站一行,找出一个最矮的同学1,放在这行最前面,然后再到剩下的同学中,找出最矮的,排在同学1 的后面,以此类推.
public class SelectSort {
public static void main(String[] args) {
int[] arr = { 2, 20, 10, 88, 50, 57, 9, 7 };
for (int i = 0; i < arr.length; i++) {//这个i的位置就是这趟排序中最矮的同学的位置.
for (int j = i+1; j < arr.length; j++) {
if (arr[i]>arr[j]) {//如果在其他位置上同学比i位置上的同学矮,则交换.
int temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
for (int i : arr) {
System.out.print(i+" ");
}
}
}
上面代码为什么j=i+1,因为不需要再比较前面排好序的.
本文介绍了一种简单直观的排序算法——选择排序,并通过一个生动的例子帮助理解其工作原理:将一组数字比作随意站成一排的学生,每轮选出最矮(最小值)的学生并按顺序排列。此外,还提供了完整的Java实现代码。
616

被折叠的 条评论
为什么被折叠?



