选择排序
选择排序就是经过多次查找找到还未排序 部分的最小值,并与未排序部分的第一个数比较,如果第一个数较大,交换他们的值,否则不交换。直到序列有序;
图解:
动图演示:
由这个动图可以直观的看出来每一趟做了什么,是这样排序的。
c++代码:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; void s_sort(int A[],int N) { for(int i=0;i<N-1;i++) { int min=i; for(int j=i+1;j<N;j++) { if(A[j]<A[min]) min=j; } swap(A[i],A[min]); } } int main() { int A[]={1,3,2,4,3,11651,56116,15141616,3}; s_sort(A,9); for(int i=0;i<9;i++) { cout<<A[i]<<" "; } return 0; }