转载:http://blog.csdn.net/feng2qing/article/details/53860685
排序思想:
相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处(每比较完一趟,就选出一个最大值放到了后面),同理继续可以得到一个排好序的数组
排序图解:
排序规则:
两两相比,大的往后放
每一次比较晚后,下一次比较时就会减少一个元素比较
第一次比较,有0个元素不参与比较
第二次比较,有2个元素不参与比较
第三次比较,有2个元素不参与比较
…
总共需要比较数组长度 - 1 次
代码实现:
public static void selectSort (int array[]) {
for (int i = 0;i < array.length - 1; i ++) {
for (int j = i + 1;j < array.length;j ++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11