SDUT資料結構實驗之排序二 交換排序

2021-10-07 00:14:24 字數 897 閱讀 6241

資料結構實驗之排序二:交換排序

time limit: 1000 ms memory limit: 65536 kib

problem description

氣泡排序和快速排序都是基於"交換"進行的排序方法,你的任務是對題目給定的n個(長整型範圍內的)整數從小到大排序,輸出用冒泡和快排對這n個數排序分別需要進行的資料交換次數。

input

連續多組輸入資料,每組資料第一行給出正整數n(n ≤ 10^5),隨後給出n個整數,數字間以空格分隔。

output

輸出資料佔一行,代表氣泡排序和快速排序進行排序分別需要的交換次數,數字間以1個空格分隔,行末不得有多餘空格。

sample input

849 38 65 97 76 13 27 49

sample output

15 9

hint

注意:資料相等時不做交換

#include

int cnt1, cnt2;

voidqs(

int a,

int l,

int r)

while

(i < j)

a[i]

= key;

qs(a, l, i-1)

;qs(a, i+

1, r);}

void

bbs(

int a,

int n)}}

}int

main()

qs(a,

0, n-1)

;bbs

(b,n)

;printf

("%d %d\n"

,cnt2,cnt1);}

return0;

}

資料結構實驗之排序六 希爾排序 SDUT

time limit 1000 ms memory limit 65536 kib submit statistic problem description 我們已經學習了各種排序方法,知道在不同的情況下要選擇不同的排序演算法,以期達到最好的排序效率 對於待排序資料來說,若資料基本有序且記錄較少時,...

SDUT 資料結構實驗之排序八 快速排序

problem description nbvg 給定n n 10 5 個整數,要求用快速排序對資料進行公升序排列,注意不得使用stl。input 連續輸入多組資料,每組輸入資料第一行給出正整數n 10 5 隨後給出n個整數,數字間以空格分隔。output 輸出排序後的結果,數字間以乙個空格間隔,行...

SDUT 資料結構實驗之排序七 選課名單

time limit 1000ms memory limit 65536k 隨著學校規模的擴大,學生人數急劇增加,選課名單的輸出也成為乙個繁重的任務,我校目前有在校生3萬多名,兩千多門課程,請根據給定的學生選課清單輸出每門課的選課學生名單。輸入第一行給出兩個正整數n n 35000 和m m 200...