OJ3401資料結構實驗之排序四 尋找大富翁

2021-09-05 04:09:08 字數 881 閱讀 3713

problem description

2015胡潤全球財富榜調查顯示,個人資產在1000萬以上的高淨值人群達到200萬人,假設給出n個人的個人資產值,請你快速找出排前m位的大富翁。

input

首先輸入兩個正整數n( n ≤ 10^6)和m(m ≤ 10),其中n為總人數,m為需要找出的大富翁數目,接下來給出n個人的個人資產,以萬元為單位,個人資產數字為正整數,數字間以空格分隔。

output

一行資料,按降序輸出資產排前m位的大富翁的個人資產值,數字間以空格分隔,行末不得有多餘空格。

sample input

6 3

12 6 56 23 188 60

sample output

188 60 56
hint

請用堆排序完成。 

source

xam

#include#include#include#define m 1000005

int a[m],n;

void swap(int x,int y)

void siftdown(int k,int i)//向下調整

if(t!=i)

else flag=1;//說明父節點比兩個子節點都小,不需要調整了

}return ;

}void creat(int m)//建堆

void heapsort(int k)

return ;

}int main()

}heapsort(m);//堆排序

for(i=1; iprintf("%d ",a[i]);

printf("%d\n",a[i]);

return 0;

}

3401 資料結構實驗之排序四 尋找大富翁

time limit 200 ms memory limit 512 kib submit statistic discuss problem description 2015胡潤全球財富榜調查顯示,個人資產在1000萬以上的高淨值人群達到200萬人,假設給出n個人的個人資產值,請你快速找出排前m位...

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

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

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

time limit 1000ms memory limit 65536k 我們已經學習了各種排序方法,知道在不同的情況下要選擇不同的排序演算法,以期達到最好的排序效率 對於待排序資料來說,若資料基本有序且記錄較少時,直接插入排序的效率是非常好的,希爾排序就是針對一組基本有序的少量資料記錄進行排序的...