选择排序法
介绍:
从长度为n的序列中,找到最小的数字,将这个数字放到指定的位置,执行n-1次,实现排序。
思路:
- 一共有n-1轮排序(数组大小为n)
- 每一轮排序都是一个循环
- 假定当前数字为最小值
- 这个数与后面的数进行比较,如果有更小的数,则用更小的数替代当前的数作为最小值
- 遍历结束,将最小值与序列中未排序位置的数字进行交换
代码
package com.sortAlgorithm;
public class selectionSort {
public static void main(String[] args){
int list[] = {3,9,11,10,4};
selectionSort selectionsort = new selectionSort();
selectionsort.select(list);
//输出排序之后的序列
for (int i = 0; i<list.length; i++){
System.out.println(list[i]);
}
}
public void select(int list[]){
for (int i = 0; i< list.length-1;i++){
int mini = list[i];
int tempj = i;
for(int j = i+1;j<list.length;j++){
if (mini>list[j]){
mini = list[j];
tempj = j;
}
}
if (tempj != i) {
list[tempj] = list[i];
list[i] = mini;
}
}
}
}