SDUTOJ(1591)交叉排序

2021-08-15 22:23:41 字數 930 閱讀 5072

time limit: 1000 ms

memory limit: 32768 kib

submit

statistic

discuss

problem description

輸入n個數,把所有奇數字置上的數從小到大排序,把偶數字置上的數從大到小排序。

input

輸入的第一行是乙個正整數

n(2<=n<=100)。

第二行是

n個用空格隔開的整數。

output

輸出只有一行

n個數,是按要求排序後的序列,用空格隔開。

sample input

6

1 2 3 4 5 6

sample output

1 6 3 4 5 2

hint

source

2011軟體1-5班《程式設計基礎》機試 tongjiantao

解題思路:我依然是用的快速排序(手敲)的方法,交叉排序,我是當成兩個陣列去分別排序,最後輸出的時候,稍微調整一下輸出格式(奇數偶數)。

ac**:

#include#includeusing namespace std;

void q_sort(int a,int l,int r)

a[i]=x;

q_sort(a,l,i-1);

q_sort(a,i+1,r);

}int main()

else

}q_sort(a,1,j-1);

q_sort(b,1,k-1);//呼叫快排函式對兩個陣列進行排序

i=1;

while(iif(n % 2 == 0)

else

}return 0;

}

交叉排序 sdut oj 1591

time limit 1000ms memory limit 32768k 輸入n個數,把所有奇數字置上的數從小到大排序,把偶數字置上的數從大到小排序。輸入的第一行是乙個正整數 n 2 n 100 第二行是 n個用空格隔開的整數。輸出只有一行 n個數,是按要求排序後的序列,用空格隔開。6 1 2 3...

SDUTOJ 1591 交叉排序

輸入n個數,把所有奇數字置上的數從小到大排序,把偶數字置上的數從大到小排序。input 輸入的第一行是乙個正整數n 2 n 100 第二行是n個用空格隔開的整數。output 輸出只有一行n個數,是按要求排序後的序列,用空格隔開。sample input 6 1 2 3 4 5 6sample ou...

SDUT 1591 交叉排序

time limit 1000ms memory limit 32768k 輸入n個數,把所有奇數字置上的數從小到大排序,把偶數字置上的數從大到小排序。輸入的第一行是乙個正整數 n 2 n 100 第二行是 n個用空格隔開的整數。輸出只有一行 n個數,是按要求排序後的序列,用空格隔開。6 1 2 3...