stl的一些用法,佇列

2021-07-27 14:25:13 字數 1478 閱讀 6485

第一:佇列

佇列分為佇列和優先佇列

先介紹一下佇列問題

這是佇列的基本操作~~~

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

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

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

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

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

size() 返回佇列的長度

top() 返回優先佇列對頂元素   注意這個是優先佇列和佇列的區別~~

佇列服從先進先出的原則 從佇列的後面壓如,從前面調出~~

優先佇列並不服從先進先出的原則,優先佇列指的是,把佇列內的元素有乙個優先等級,從大到小的排序,

這是佇列的一些宣告~

#include 標頭檔案

queue

<

int>

q;  普通宣告

struct

node  結構體宣告

;queue

<

node

>q;

優先佇列的宣告會有一些差距

priority_queue

<

int>

q;//

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

可以自己進行自定義優先順序

struct

cmp};

priority_queue

<

int, vector

<

int>

, cmp

>

q;//

定義方法

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

結構體的宣告

struct

node

};priority_queue

<

node

>

q;//

定義方法

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

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

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

有乙個例題可以參考一下 uva12100這個題用佇列和優先佇列一起做的

下面貼一下**

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

intmain

() int x = 0;

while(true)

else

}else

else

//cout << x << endl;}}

}return

0;}

stl一些容器

deque a deque deque n,elem n個elem初始化的deque deque beg,end 雙指標初始化 v.push front 取出第乙個元素 棧,先進後出。通過top 方法返回棧頂元素,push 壓棧,pop 出棧。效率很高,不能遍歷,不支援隨機訪問。q.front q....

一些stl相關

vector swap ivec 清記憶體,單純的clear或remove是不會把記憶體清掉的 ivec.reserve 100000 預設vector空間大小,避免因為vec分配得不夠,後期還需要重新分配空間 ivec.swap vector ivec or vector ivec swap iv...

的一些用法

action標籤,顧名思義,是用來呼叫action的標籤,在jsp中頁面中,可以具體指定某一命名空間中的某一action。而標籤的主體用於顯示及渲染actionr的處理結果。action標籤有如下幾個屬性 id 可選屬性,作為該action的引用id name 必選屬性,指定呼叫action nam...