数组奇偶操作



C++代码

#include
#include
#include
using namespace std;
int a[10000],b[10000],val[10000];

int main(){
    int n;
    do{
        scanf("%d",&n);
        if(n==0)break;
        int cnt1=0,cnt2=0;
        for(int i=1;i<=n;i++){
            if(i%2==1){
                scanf("%d",&a[++cnt1]);
            }else{
                scanf("%d",&b[++cnt2]);
            }
        }
        sort(a+1,a+cnt1+1);
        sort(b+1,b+cnt2+1);
        for(int i=1;i<=cnt1;i++){
            val[(i-1)*2+1]=a[i];
        }
        for(int i=1;i<=cnt2;i++){
            val[(cnt2-i+1)*2]=b[i];
        }
        for(int i=1;i<=cnt1+cnt2;i++){
            printf("%d ",val[i]);
        }
        printf("\n");
        
    }while(1);
    return 0;
}