STL之優先佇列

2021-07-11 02:06:26 字數 2760 閱讀 1913

stl 中優先佇列的使用方法(priority_queu)

基本操作:

empty() 如果隊列為空返回真

pop() 刪除對頂元素

push() 加入乙個元素

size() 返回優先佇列中擁有的元素個數

top() 返回優先佇列對頂元素

在預設的優先佇列中,優先順序高的先出隊。在預設的int型中先出隊的為較大的數。

使用方法:

標頭檔案:

#include

宣告方式:

1、普通方法:

priority_queue

<

int>

q;//

通過操作,按照元素從大到小的順序出隊

2、自定義優先順序:

struct

cmp};

priority_queue

<

int, vector

<

int>

, cmp

>

q;//

定義方法

//其中,第二個引數為容器型別。第三個引數為比較函式。

3、結構體宣告方式:

struct

node

};priority_queue

<

node

>

q;//

定義方法

//在該結構中,y為值, x為優先順序。

//通過自定義operator《操作符來比較元素中的優先順序。

//在過載」<」時,最好不要過載」>」,可能會發生編譯錯誤

stl 中佇列的使用(queue)

基本操作:

push(x) 將x壓入佇列的末端

pop() 彈出佇列的第乙個元素(隊頂元素),注意此函式並不返回任何值

front() 返回第乙個元素(隊頂元素)

back() 返回最後被壓入的元素(隊尾元素)

empty() 當隊列為空時,返回true

size() 返回佇列的長度

使用方法:

標頭檔案:

#include 

<

queue

>

宣告方法:

1、普通宣告

queue

<

int>q;

2、結構體

struct

node

;queue

<

node

>q;

stl 中棧的使用方法(stack)

基本操作:

push(x) 將x加入棧中,即入棧操作

pop() 出棧操作(刪除棧頂),只是出棧,沒有返回值

top() 返回第乙個元素(棧頂元素)

size() 返回棧中的元素個數

empty() 當棧為空時,返回 true

使用方法:

和佇列差不多,其中標頭檔案為:

#include 

<

stack

>

定義方法為:

stack

<

int>

s1;//

入棧元素為 int 型

stack

<

string

>

s2;//

入隊元素為string型

stack

<

node

>

s3;//

入隊元素為自定義型

/**//*

*************************************

| || stl中優先佇列使用方法 |

| | 

| chenlie |

| || 2010-3-24 |

| |*************************************

*/#include 

<

iostream

>

#include 

<

vector

>

#include 

<

queue

>

using

namespace

std;

intc[

100];

struct

cmp1

};struct

cmp2

};struct

node

};priority_queue

<

int>

q1;priority_queue

<

int, vector

<

int>

, cmp1

>

q2;priority_queue

<

int, vector

<

int>

, cmp2

>

q3;priority_queue

<

node

>

q4;queue

<

int>

qq1;

queue

<

node

>

qq2;

intmain()

cout 

<<

endl;

while(!

q4.empty())

//cout << endl;

}return0;

}

STL容器之優先佇列

優先順序佇列,以前刷題的時候用的比較熟,現在竟然我只能記得它的關鍵字是priority queue 太傷了 在一些定義了權重的地方這個資料結構是很有用的。先回顧佇列的定義 佇列 queue 維護了一組物件,進入佇列的物件被放置在尾部,下乙個被取出的元素則取自佇列的首部。priority queue特...

STL之優先佇列priority queue

stl 之優先佇列 原本以為 priority queue 很簡單,才知道原來懂的只是最簡單的形式。標頭檔案 include include auto comp pair a,pair b priority queue,vector decltype comp temp comp struct co...

STL容器之優先佇列

參考 拼裝小火車 要學會如何定義最小優先佇列 最大優先佇列 對於自己定義的結構體,如何定義最小 最大優先佇列 核心 定義比較結構 struct cmp1 struct cmp2 自定義資料結構 struct number1 struct number2 priority queue que 採用預設...