介紹
棧(stack)又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後一個資料被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指標。
棧是允許在同一端進行插入和刪除操作的特殊線性表。允許進行插入和刪除操作的一端稱為棧頂,另一端為棧底;棧底固定,而棧頂浮動;棧中元素個數為零時稱為空棧。插入一般稱為進棧,刪除則稱為退棧。棧也稱為先進後出表。
如圖:
用法
stack與vector類似,也是C++中一種常用的容器
首先,使用它需要一種特殊的標頭檔案
1 #include<stack> //當然也可以使用<bits/stdc++.h>萬能標頭檔案
以下是它的具體用法
1 stack<int> s; //建立一個棧s,元素型別為int 2 s.push(a); //將元素a壓入棧s 3 s.pop(); //將棧s的棧頂元素彈出 4 s.top(); //查詢s的棧頂元素 5 s.size(); //查詢s的元素個數 6 s.empty(); //查詢s是否為空
如果還是不明白某一函式的具體作用,可以看這張圖:
碼字不易,點個讚唄§(* ̄▽ ̄*)§