STL Stack Queue Set常用函式

2021-08-15 15:46:16 字數 1605 閱讀 2415

棧(stack)是限定僅在表尾進行插入或刪除操作的線性表。棧是一種資料結構,它按照先進後出(filo,first in last out)的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料。棧也稱為後進先出表

預設基於deque容器實現。棧stack的標頭檔案為: #include

stl中棧一共就5個常用操作函式:

push()   //在棧頂增加元素

top() //返回棧頂元素

pop() //移除棧頂元素

empty() //堆疊為空則返回真

size() //回棧中元素數目

queue佇列是一種特殊的線性表,是一種先進先出(fifo)的資料結構。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。在佇列這種資料結構中,最先插入在元素將是最先被刪除;反之最後插入的元素將最後被刪除,因此佇列又稱為「先進先出」(fifo—first in first out)的線性表。

預設基於deque容器實現。

stl中單向佇列一共6個常用函式:

front()      //返回佇列頭部資料             

back() //返回佇列尾部資料

push(elem) //在佇列尾部插入elem資料

pop() //佇列頭部資料出隊

empty() //判斷佇列是否為空

size() //返回佇列中資料個數

front()和back()返回下乙個元素但並不移除該元素。

set是stl中一種標準關聯容器。它底層使用平衡的搜尋樹——紅黑樹實現,插入刪除操作時僅僅需要指標操作節點即可完成,不涉及到記憶體移動和拷貝,所以效率比較高。set,顧名思義是「集合」的意思,在set中元素都是唯一的,而且預設情況下會對元素自動進行公升序排列,支援集合的交(set_intersection),差(set_difference)並(set_union),對稱差(set_symmetric_difference) 等一些集合上的操作,如果需要集合中的元素允許重複那麼可以使用multiset。

stl中set容器的常用操作:  

begin()      //返回指向第乙個元素的迭代器

end() //返回指向最後乙個元素之後的迭代器,不是最後乙個元素

clear() //清除所有元素

empty() //如果集合為空,返回true(真)

erase() //刪除集合中的元素

find() //返回乙個指向被查詢到元素的迭代器,如果沒找到則返回end()

insert() //在集合中插入元素

size() //集合中元素的數目

swap() //交換兩個集合變數

python常用函式 enumerate函式

1 如果對乙個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫 list1 這 是 乙個 測試 for i in range len list1 print i list1 i 2 上述方法有些累贅,利用enumerate 會更加直接和優美 list1 這 是 乙個 測試 for index,ite...

sql中nvl,cast,power等常用函式

1 nvl 表示式1,表示式2 如果1為空,則該函式取表示式2的值 如 b nvl a,0 如果a值為空,b取0 2 nvl 表示式1,表示式2,表示式3 如果1有值,取2,如果1為空,取表示式3的值 總之 如果1為空,都取最後乙個引數的值 3 power用法 power a,b 這是求冪次方,a的...

OpenGL GLSL 內建變數與 常用內建函式

在著色器中我們一般都會宣告變數來在程式中使用,但是著色器中還有一些特殊的變數,不宣告也可以使用。這些變數叫做內建變數。內建變數,相當於著色器硬體的輸入和輸出點,使用者利用這些輸入點輸入之後,就會看到螢幕上的輸出。通過輸出點可以知道輸出的某些資料內容。當然,實際上肯定不會這樣簡單,這麼說只是為了幫助理...