時間限制: 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 #includeview code#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;
}
傳送門 點此展開
惡補知識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...