c++中的標頭檔案
#include#include
佇列的功能:
q.empty() 如果隊列為空返回true,否則返回false
q.size() 返回佇列中元素的個數
q.pop() 刪除佇列首元素但不返回其值
q.front() 返回隊首元素的值,但不刪除該元素
q.push() 在隊尾壓入新元素
q.back() 返回佇列尾元素的值,但不刪除該元素
棧的功能:
s.empty() 如果棧為空返回true,否則返回false
s.size() 返回棧中元素的個數
s.pop() 刪除棧頂元素但不返回其值
s.top() 返回棧頂的元素,但不刪除該元素
s.push() 在棧頂壓入新元素
可以看到,佇列和棧都有empty(),size()的功能
佇列實現棧的功能:
棧的top就是佇列的front,pop和出隊相同,也就是說,我們只需要實現push功能
棧的push功能就是讓佇列實現在隊首加入元素,這就需要兩個佇列q1,q2,函式讓q2將要push的值先入隊,再讓所有q1中的元素都出隊並加入到q2中,最後返回q2
queuepush(queueq1)
return q2;
}
棧要實現佇列的back()和push()兩個函式
back的實現就是完全複製乙個棧,最後乙個出棧的元素就是佇列back()返回的值
push()的實現就是讓棧實現在棧底加入元素,讓所有元素都出來後讓目標元素先入棧,再把所有元素入棧
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...