数据结构与算法05 选择排序
基本概念
选择排序工作原理是,每一次从待排序的数据元素中找出最小(或最大)的一个元素,顺序放入已排好序的数列,直到全部待排序的数据元素排完。当数据序列长度为n时,须进行n-1次循环。具体步骤:
- 首先从原始数组中选择最小的数及其位置,将其和位于第1个位置的数据交换。
- 接着从剩下的n-1个数据中找出最小数及其位置,将其和第2个位置的数据交换
- 不断重复,直到第n-1次结束。
JAVA代码实现
public class SelectSort {
public static void main(String[] args) {
int[] array = new int[]{101, 34, 119, 1};
SelectSort.selectSort(array);
}
public static void selectSort(int[] arr){
int index;
int min;
for (int i = 0; i < arr.length - 1; i++) {
index = i;
min = arr[i];
for (int j = i + 1; j < arr.length; j++) {
if(min > arr[j]){
index = j;
min = arr[j];
}
}
if(index != i){
arr[index] = arr[i];
arr[i] = min;
}
System.out.printf("*****第%d次排序***** \n",i+1);
System.out.println(Arrays.toString(arr));
}
}
}
结果如图: