选择排序
每一轮排序选择最小(最大)的元素放置有序区的末尾,直至所有元素排序完毕。
#include<iostream> using namespace std; int main() { int n,a[20]; cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=1; i<=n-1; i++) { int minindex=i; //暂定i为最小元素 for(int j=i+1; j<=n; j++) { if(a[j]<a[minindex]) minindex=j;//更新记录的最小元素下标 } int tmp=a[i]; //交换a[i]与a[minindex] a[i]=a[minindex]; a[minindex]=tmp; } for(int i=1; i<=n; i++) cout<<a[i]<<" "; cout<<endl; return 0; }
浙公网安备 33010602011771号