C 棧和佇列

2022-06-13 19:42:09 字數 960 閱讀 5097

c++ stl中提供了棧(stack)的模板。

#include ...

stackstk;

這就定義了乙個棧stk。

棧支援下面的基本操作:

stk.empty():stk為空則返回true,stk中存在元素則返回false

stk.size():返回stk中的元素個數

stk.pop():刪除棧頂元素,但是不返回其值

stk.top():返回棧頂元素的值,但不刪除它

stk.push():在棧頂壓入乙個新元素

看下面這個示例小程式

#include 

#include

#include

#include

using

namespace

std;

stack

ss;int main()

return

0;}

程式會把輸入的一行字串從下向上倒序輸出,每個字元佔一行。

佇列(queue)在c++中的定義**如下

#include ...

queueq;

其實佇列和棧的操作特別像,只不過由於棧是「先進後出」,佇列是「先進先出」,所以有相應的不同。佇列支援如下操作

q.empty():如果q為空,返回true;佇列中存在元素,返回false

q.size():返回q中元素個數

q.pop():刪除q首元素,但是不返回其值

q.front():返回q隊首元素的值,但不刪除它

q.push():在q隊尾壓入新元素

q.back():返回隊尾元素的值,但不刪除它

如果在上面棧的示例程式中,將stack變成queue,其他的都不變,輸出就會變成從上向下的正序的字串。

c 棧和佇列

c 棧 include using std stack s.empty 如果棧為空返回1,否則返回0 s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s.top 返回棧頂的元素,但不刪除該元素 s.push 在棧頂壓入新元素 測試例項 include include usin...

c 棧和佇列

使用標準庫的棧和佇列時,先包含相關的標頭檔案 include include 定義棧如下 stackstk 定義佇列如下 queueq 棧提供了如下的操作 cpp view plain copy s.empty 如果棧為空返回 true,否則返回 false s.size 返回棧中元素的個數 s.p...

C 棧和佇列

使用標準庫的棧和佇列時,先包含相關的標頭檔案 include include 定義棧如下 stackstk 定義佇列如下 queueq 棧提供了如下的操作 cpp view plain copy s.empty 如果棧為空返回 true 否則返回 false s.size 返回棧中元素的個數 s.p...