Java-数据结构和算法-选择排序(selection sort)
选择排序哦,前一篇是冒泡排序
Java-数据结构和算法-冒泡排序(bubble sort)
选择排序
怎么个选择法呢?
描述
- 我们遍历数据,每次选择出最小的数,排到当前开始遍历的位置。
- 下一次遍历从下一个元素开始,真到倒数第二个元素即可排序完成

代码实现
public class SelectSort{
public static void main(String[] args){
int[] data = new int[]{344,4,345,23,566,456,34,5,78,45,23,56673};
for(int i = 0;i<data.length-1;i++){
int current = data[i];
for(int j = i + 1; j < data.length;j++){
if(current>data[j]){
int temp = current;
current = data[j];
data[j] = temp;
}
}
data[i] = current;
for(int h = 0;h<data.length;h++){
System.out.print(data[h]+",");
}
System.out.println();
}
}
}
图解
我懒得去画了,这是输出的结果
4,344,345,23,566,456,34,5,78,45,23,56673,
4,5,345,344,566,456,34,23,78,45,23,56673,
4,5,23,345,566,456,344,34,78,45,23,56673,
4,5,23,23,566,456,345,344,78,45,34,56673,
4,5,23,23,34,566,456,345,344,78,45,56673,
4,5,23,23,34,45,566,456,345,344,78,56673,
4,5,23,23,34,45,78,566,456,345,344,56673,
4,5,23,23,34,45,78,344,566,456,345,56673,
4,5,23,23,34,45,78,344,345,566,456,56673,
4,5,23,23,34,45,78,344,345,456,566,56673,
4,5,23,23,34,45,78,344,345,456,566,56673,