选择排序
假如我们现在需要将一个数组内的元素进行从小到大排序,数组如下:
{ 12, 32, 4, 78, 1, 14, 78, 51, 13, 98, 10, 64, 101, 3 }
我们需要对这个数组进行排序,介绍第一种排序算法,即选择排序。
核心思想:
- 选择排序是从数组的第一个元素,即下标为 0 的元素开始,不断和后面的元素进行比较,如果后面的元素比第一个元素小,那么我们就把第一个元素和这个元素进行换位。如此一轮比较下来之后,第一个元素已经是数组中最小的值。
- 按照 1 中所示,我们接着拿角标为 1 的元素开始,和之后的所有元素进行比较,一轮比较下来,第二个元素即为第二小的元素。
- 按照如此原理进行操作,操作Array.length - 1次后,我们的数组已经排序完毕。
实现代码:
package com.evan.select_sort;
import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
int[] array = {12, 32, 4, 78, 1, 14, 78, 51, 13, 98, 10, 64, 101, 3};
selectSort(array);
System.out.println("Array: " + Arrays.toString(array));
}
public static void selectSort(int[] array) {
if(null == array || array.length == 0) {
return;
}
for (int i = 0; i < array.length; 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;
}
}
}
}
}