输入n(0~50)个整数,把最小的元素放到中间位置,再把第二小的元素放到中间的后一个位置,然后把第三小的元素放到中间的前一个位置,以此类推。
#include <iostream> #include <cstdio> using namespace std; int main() { int n,k,pos,m,a[55]; cin>>n; m=______(1)________ for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) if(a[i]<a[m]) swap(a[i],a[m]); int p=m,q=m; for(int i=1;i<=n-2;i++) { if(i%2==1) { k=q+1; q++; } else { _____(2)________; p--; } ______(3)_______; for(int j=1;j<=n;j++) if((_____(4)______)&&a[j]<a[k]) k=j; if(pos!=k) swap(a[pos],a[k]); } for(int i=1;i<=n;i++) cout<<a[i]<<" "; }