C 標準庫之棧(stack)和佇列(queue)

2021-10-18 16:30:58 字數 1884 閱讀 4034

在c++標準庫(stl)中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。

1、棧(stack)說明及舉例:

使用棧,要先包含標頭檔案 : #include

定義棧,以如下形式實現: stack s; 其中type為資料型別(如 int,float,char等)。

棧的主要操作:

s.push(item); //將item壓入棧頂

s.pop(); //刪除棧頂的元素,但不會返回

s.top(); //返回棧頂的元素,但不會刪除

s.size(); //返回棧中元素的個數

s.empty(); //檢查棧是否為空,如果為空返回true,否則返回false

棧操作舉例:

#include

#include

#include

using

namespace std;

void

main()

cout<<

"the stack has "

<

size()

<<

" numbers.they are:"

<

while

(!s.

empty()

) cout<<

"\nnow the size is "

<

size()

<

system

("pause");

}

結果截圖:

2、佇列(queue)說明及舉例:

使用佇列,要先包含標頭檔案 : #include

定義佇列,以如下形式實現: queue q; 其中type為資料型別(如 int,float,char等)。

佇列的主要操作:

q.push(item) //將item壓入佇列尾部

q.pop() //刪除隊首元素,但不返回

q.front() //返回隊首元素,但不刪除

q.back() //返回隊尾元素,但不刪除

q.size() //返回佇列中元素的個數

q.empty() //檢查佇列是否為空,如果為空返回true,否則返回false

佇列操作舉例

#include

#include

#include

using

namespace std;

void

main()

cout<<

"now the queue has "

<

size()

<<

" numbers."

<

cout<<

"the first is "

<

front()

<

cout<<

"the last is "

<

back()

<

cout<<

"all numbers:"

<

while

(!q.

empty()

) cout<<

"now the queue has "

<

size()

<<

" numbers."

<

system

("pause");

}

C 標準庫之stack

c 庫以提供 模板 為主。所謂模板,是指不必預先制定型別的函式或類。我們可以借助stl 標準模板庫 standard template library,stl 提供的高效演算法來管理資料。為應對多種需求,stl為使用者提供了多種名為容器 container 的類,用於管理資料集合。在建立動態陣列 表...

python之《棧stack和佇列queue》

棧和佇列是兩種常用的,重要的資料結構。棧和佇列是限定插入和刪除只能在表的 端點 進行的線性表。棧 特點 後進先出 1,建立棧 借助列表 stack list print stack 2,判斷是否為空棧 stack list print stack if not stack print 為空棧 els...

C 棧和佇列 stack堆疊容器

棧 stack 在電腦科學中是限定僅在表尾進行插入或刪除操作的線性表。棧是一種資料結構,它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料。棧是只能在某一端插入和刪除的特殊線性表。用桶堆積物品,先堆進來的壓在底下,隨後一件一件往上堆。取走時,只...