#include
#include
using
namespace std;
**priority_queue<
int,vector<
int>
,greater<
int>
> q;**
//c++內建stl的排序按top為min 同理less
int n,num;
int a[
10100];
intmain
(int argc,
char
** ar**)
while
(q.size()
>2)
num+
=q.top()
; q.
pop();
cout
)
(stdin);
fclose
(stdout);
return0;
}//![在這裡插入描述](https://
img-blog.csdnimg.cn/2019092420272485.jpg?x-oss-process=image/watermark,type_zmfuz3pozw5na**pdgk,shadow_10,text_ahr0chm6ly9ibg9nlmnzzg4ubmv0l3fxxzqwndkzodi5,size_16,color_ffffff,t_70)
priority_queue<
int,vector<
int>
,less> q;
只能乙個乙個放數
加上過載運算子是不是可以放陣列或其他的東西呢???
我們知道小堆是靠bool判斷的
所以只要過載下bool
struct cmp
{ bool
operator()(int x,int y)
{return dis[x]
>dis[y]
;//大根堆頭最小}};
//寫
文章自動忽略空格?
堆變成
priority_queue<
int,vector<
int>
,cmp> q;
vector 的點點滴滴的總結
vector 廣義上講 乙個動態的陣列 但因為又自帶支援多種操作所以比較好用。vector實際分配的記憶體比你需要的記憶體多。include vector 變數型別 變數名 一維vector vector int v m,vector int n m n二維記得要打空格陣列可以對vector進行初始...
vector 堆 棧 佇列的使用
最近由於在刷劍指offer,所以頻繁接觸vector,之前也沒有好好學,所以把一些學到的東西記錄下來,以供自己複習,當然能幫到別人就最好不過了。vector有很多好處,首先就是它是動態的,能改變大小,而且能存放各種型別的資料,還可以在尾部新增值,類似於鍊錶的特性,簡單來說,vector是乙個能存放任...
堆的實現(大小堆及 優先佇列
一 堆的概念 堆資料結構是一種陣列物件,它可以被視為一棵完全二叉樹結構。堆結構的二叉樹儲存是 最大堆 每個父節點的都大於孩子節點。最小堆 每個父節點的都小於孩子節點。堆疊中的物體具有乙個特性 最後乙個放入堆疊中的物體總是被最先拿出來,這個特性通常稱為後進先出 lifo 佇列。堆疊中定義了一些操作。兩...