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...