下面程序将输入的n个数进行排序:
#include<iostream> using namespace std; int main() { int n; cin>>n; int* a=new int [n+1]; for(int i=1;i<=n;i++) cin>>a[i]; int left1 = 1, left2 = 2; int max1,max2; while(left1 <= n-1) { max1 = left1; max2 =left2; if (a[max1] < a[max2]) swap(a[max1],a[max2]); for(int i=left2+1;i<=n;i++) { if(a[max1]<a[i]) { ______(1)_______; max1=i; } else if(a[max2]<a[i]) max2=i; } if(max1!=left1) swap(a[max1],a[left1]); if(_____(2)______) max2=max1; if(max2!=left2) swap(a[max2],a[left2]); left1 = left2 + 1; ______(3)______; } for(int i=1;i<=n;i++) cout<<a[i]<<" "; ______(4)_______; a=NULL; }