codevs 3110 二叉堆練習3

2022-04-05 02:35:00 字數 1596 閱讀 2222

時間限制: 3 s

空間限制: 128000 kb

題目等級 : ** gold

題目描述 description

給定n(n≤500,000)和n個整數(較有序),將其排序後輸出。

輸入描述 input description

n和n個整數

輸出描述 output description

n個整數(公升序)

樣例輸入 sample input

12 11 10 8 9

樣例輸出 sample output

8 9 10 11 12

資料範圍及提示 data size & hint

對於33%的資料 n≤10000

對於另外33%的資料 n≤100,000  0≤每個數≤1000

對於100%的資料 n≤500,000  0≤每個數≤2*10^9

自己打的** 

#include #include 

using

namespace

std;

int num,heap[500000*4+1

],i,j,n,size;

inline

void

push()

}inline

intpop()

returnt;}

intmain()

包含多種操作的**

#include #include 

#include

#include

#include

using

namespace

std;

int heap[500010

],n;

void shiftdown(int i,int m) //

堆向下調整

else

break

; }

}void shiftup(int x) //

堆向上調整

heap[x]=temp;

}void del() //

刪除堆頂元素

}void insert(int

x)

void shiftda(int i,int

len)

else

break

; }

heap[i]=t;

}void shiftxiao(int i,int

len)

else

break

; }

heap[i]=t;

}int

main()

for(int i=n/2;i>=1;i--) shiftxiao(i,n); //

建堆 for(int j=n;j>=2;j--) //

排序

for(int i=n;i>=1;i--)

printf(

"%d

",heap[i]);

return0;

}

view code

傳送門 點此展開 

惡補知識1 

惡補知識2 

codevs3110二叉堆練習1

題目描述 description 給定n n 500,000 和n個整數 較有序 將其排序後輸出。輸入描述 input description n和n個整數 輸出描述 output description n個整數 公升序 樣例輸入 sample input 512 11 10 8 9 樣例輸出 s...

codevs 3110 二叉堆練習3

時間限制 3 s 空間限制 128000 kb 題目等級 gold 給定n n 500,000 和n個整數 較有序 將其排序後輸出。輸入描述 input description n和n個整數 輸出描述 output description n個整數 公升序 樣例輸入 sample input 12 ...

3110 二叉堆練習3

時間限制 3 s 空間限制 128000 kb 題目等級 gold description 給定n n 500,000 和n個整數 較有序 將其排序後輸出。輸入描述 input description n和n個整數 輸出描述 output description n個整數 公升序 樣例輸入 samp...