一.解釋:
1.棧
結論:後進先出(last in first out),簡稱為lifo線性表。
舉個例子:你在洗碗把洗好的碗編號為1、
2、、、
n依次摞起來,
1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。
2.佇列
佇列(queue)也是一種運算受限的線性表,它的運算限制與棧不同,是兩頭都有限制,插入只能在表的一端進行(只進不出),而刪除只能在表的另一端進行(只出不進),允許刪除的一端稱為隊尾(rear),允許插入的一端稱為隊頭 (front),如圖所示:
結論:佇列的操作原則是先進先出的,所以佇列又稱作fifo表(first in first out)
舉個例子:超市付賬的時候排隊,先來的先排在最前面,後來的後排在隊伍最後面,付賬時排在隊伍前面的先付賬,排在後面的後付賬。
二.用法
1.標頭檔案
#include//2.定義方式佇列 #include//
棧
stack s;//3.常用操作引數也是資料型別,這是棧的定義方式
queue q; //
引數是資料型別,這是佇列的定義方式
棧:s.empty()
//如果棧為空返回true,否則返回false
s.size()//
返回棧中元素的個數
s.pop()//
刪除棧頂元素但不返回其值
s.top()//
返回棧頂的元素,但不刪除該元素
s.push(x)//
在棧頂壓入新元素 ,引數x為要壓入的元素
佇列:三、例子q.empty()
//如果隊列為空返回true,否則返回false
q.size() //
返回佇列中元素的個數
q.pop() //
刪除佇列首元素但不返回其值
q.front() //
返回隊首元素的值,但不刪除該元素
q.push(x) //
在隊尾壓入新元素 ,x為要壓入的元素
q.back() //
返回佇列尾元素的值,但不刪除該元素
#include #include#include
#include
#include
#include
#include
using
namespace
std;
intmain()
C STL 棧和佇列詳解
一.解釋 1.棧 結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算...
C STL 棧和佇列
結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算限制與棧不同,是兩...
C STL 棧 佇列 優先佇列
棧 後進先出 last in first out lifo 標頭檔案 stack stack stack int s 棧的基本操作 s.empty 如果棧為空返回true,否則返回false s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s.top 返回棧頂的元素,但不刪除...