題目1167 陣列排序 北航

2021-07-14 16:20:42 字數 835 閱讀 8245

題目描述:輸入乙個陣列的值,求出各個值從小到大排序後的次序。

輸入:輸入有多組資料。

每組輸入的第乙個數為陣列的長度n(1<=n<=10000),後面的數為陣列中的值,以空格分割。

輸出:各輸入的值按從小到大排列的次序(最後乙個數字後面沒有空格)。

樣例輸入:

4

-3 75 12 -3

樣例輸出:1 3 2 1

解決方法

三個陣列,乙個原來,乙個排序,乙個經過排序後去重

然後在去重後的中找原來的,輸出位置即可。

在排序去重一步中,可能連續都是一樣的,所以最後一定要有乙個在上面

#include#include#includeusing namespace std;

int array[10010];

int array1[10010];

int array2[10010];

int search(int a, int n, int x)//二分查詢

}int main()

sort(array1, array1 + length);

int k = 0;

for (i = 0; i < length - 1; i++)//陣列去重

array2[k++] = array1[length -1];

for (i = 0; i < length; i++)

}return 0;

}

九度1167 陣列排序

cpp 日期 2013 1 29 作者 sjf0115 題號 九度1167 題目 陣列排序 結果 ac 題意 總結 include include include typedef struct datadata 排序函式 int cmp const void a,const void b int c...

九度OJ 1167 陣列排序 排序序列的恢復

北航的這道考研上機真題大意是 給定乙個序列,輸出該序列的各個元素在排序後的序號。首先排序肯定是需要的,但排序後雖然能都得到各個元素的大小標號,但原來的順序也就不知道了。恢復序列的辦法便是新增乙個域,指示排序前的序號,排完序後再按排序前的序號排回來便可。題目url 我的ac 和大家分享一下。inclu...

題目 陣列排序 奇數在前 偶數在後

復旦2011在職研究生試題資料結構考試 c 版 一整數陣列,要求奇數排在偶數前面,並且時間複雜度為o n 並要求寫出思路 static void test1 int start 0 int temp int end a.length 1 int num 0 bool flag true i是否前進標...