选择排序算法基本思想就是,先将整个序列分为有序区和无序区两个部分,有序区为空,每次从无序区查找最小元素与无序区的第一个记录进行交换,这样经过n-1次,整个序列就变成有序了

C++语言实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
using namespace std;

void selectSort(int r[], int n) {
int i, j, index;
for(i = 0; i < n-1; i ++) {
index = i;
for(j = i + 1; j < n; j ++) {
if(r[index] > r[j]) {
index = j;
}
}
if(index > i) {
int temp = r[index];
r[index] = r[i];
r[i] = temp;
}
}
}

int main() {
int a[] = {1,4,13,2,3212,3,4,1,2,4,1,2};
selectSort(a, 12);
for(int i = 0; i < 12; i++) {
cout << a[i] << " ";
}
return 0;
}