选择排序

选择排序在每一次的遍历中会找到一个最大(小)值,然后将该值放到已排序的末尾。重复这个过程直到所有的值都处在一个有序状态。

算法描述

数组长度为n

  1. 初始有序序列长度为0,无序序列长度为n;
  1. 第i次遍历后,选出最大(小)值放在有序序列的末尾,有序长度为i,无序序列长度为n-1;
  1. n-1遍历后,排序完成;

算法代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
}
}

微信公众号

© 2018 ray