选择排序算法基本思想就是,先将整个序列分为有序区和无序区两个部分,有序区为空,每次从无序区查找最小元素与无序区的第一个记录进行交换,这样经过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; }
|