佇列和棧,c

2021-07-22 20:17:11 字數 1057 閱讀 9579

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