Problem G 排序練習00(難度5)

2021-08-09 14:47:04 字數 1125 閱讀 1747

problem g: 排序練習

00(難度:5)

description

話說前面的排序太簡單了,

沒有絲毫的挑戰性, 如今給你

n 個整數, 除了要排序之外

, 還要知道每個數原來的位置

.input

輸入資料有多組, 每組資料第一行包含乙個數字 n(

0 < n <= 100

), 代表有

n 個整數

, 第二行緊跟著輸入

n 個數

.output

對於每組輸入,輸出資料有兩行,第一行代表把數從大到小排序後的序列,第二行第

i 個數代表排序後第一行第

i 個數在原陣列中的位置

.如果存在一樣的數

,則在原先陣列中序號比較大的排在序號小的前面

.每兩組相鄰的輸出之間存在乙個空行

.sample input 5

1 2 3 4 5 2

1 1sample output

5 4 3 2 1

5 4 3 2 1

1 1

2 1

hint

對於第一組輸入排序後序列為「5 4 3 2 1」, "5" 在元陣列中第 5 個

,  「4」

原陣列中第 4 個

...以此類推

,最終輸出如樣列所示

; 對於第二組輸入

, 排序後序列為

「1 1」,

由於要求如果存在一樣的數

, 則序號大的優先序號小的

, 所以第 2 個

「1」需要排在在第

1 個

「1」前面

.輸出如樣列所示

.#include

#include

intmain()

for(i=0;i

//第二行第 i 個數代表排序後第一行第 i 個數在原陣列中的位置

for(i=0;i

} }

for(i=0;i

printf("\n");

for(i=0;i

printf("\n");

k++; }

return

0; }

氣泡排序練習

using system using system.collections.generic using system.linq using system.text return list class program double s sort p new sort s p.paixu a for i...

排序專項練習

1.當待排序記錄已經從小到大排序或者已經從大到小排序時,快速排序的執行時間最省 答案 b 2.以下排序中時間複雜度最差的是 答案 b 3.最壞情況下 insert sort,quick sort merge sort 的複雜度分別是多少?答案 b 快排在已排序情況下效率最低!4.設某檔案經內排序後得...

排序練習2

排序練習2 題目 現在班級有 5 個人的名字和分數 huhu 5 分 haha 3 分 xixi 5 分 hengheng 2 分和 gaoshou 8 分 滿分是10分 請編寫一段程式,讓計算機按照分數從高到低,輸出他們的名字。即應該輸出 gao huhu xixi haha hengheng。題...