思路:
在一个未排序的数组中,寻找最小的元素,将其与数组第一个元素互换位置;后在剩余未排序的数组中重复该过程;
代码实现:
#includeusing namespace std; void selectsort(int *a,int n) { int min = a[0],min_i = 0,k = 0; int x = n; while(x --) { min = a[k]; min_i = k; for(int i = k;i < n;i ++)//寻找最小元素 { if(a[i] < min) { min = a[i]; min_i = i; } } if(min_i != k)//交换元素 { int t = a[k]; a[k] = a[min_i]; a[min_i] = t; } k ++; } } int main() { int a[5] = {2 , 7 , 1 , 5 ,4}; selectsort(a , 5); for(int i = 0;i < 5;i ++) { cout << a[i] << " " ; } cout << endl; return 0; }



