选择排序
选择排序在每一次的遍历中会找到一个最大(小)值,然后将该值放到已排序的末尾。重复这个过程直到所有的值都处在一个有序状态。
算法描述
数组长度为n
-
初始有序序列长度为0,无序序列长度为n;
-
第i次遍历后,选出最大(小)值放在有序序列的末尾,有序长度为i,无序序列长度为n-1;
-
n-1遍历后,排序完成;
算法代码
public void sort(int[] arr, int n) {
for(int i = 0; i < n -1; i++) {
int index = i;
for(j = i + 1; j < n; j++) {
if(arr[index] > arr[j]) {
index = j;
}
}
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}