1. 程式人生 > >c++ STL學習之stack堆疊總結

c++ STL學習之stack堆疊總結

一、標頭檔案

# include<stack>

二、定義

堆疊是一個線性表,插入和刪除只在表的一端進行。這一端稱為棧頂,另一端稱為棧底。堆疊的元素插入稱為入棧,元素的刪除則為出棧。

堆疊是一個後進先出表。

三、用法

(1)建立一個空的stack物件

stack<int> s;


(2)元素入棧

void push(const value_type& x)

在棧頂新增元素

由於c++ STL的堆疊函式是不預設大小的。因此,入棧函式就不考慮堆疊空間是否為滿,均將元素壓入堆疊,從而函式沒有標明入棧成功與否的返回值。

(3)元素出棧

void pop()

在棧的頂部移除元素

例子:將堆疊的所有元素全部出棧

// stack<int> s;
while(!s.empty())
{
	s.pop(); //出棧
}
(4)計算棧物件元素個數
size_type size()  const;


(5)判斷堆疊是否為空
bool empty()

返回 true 表示堆疊已空, false表示堆疊非空。

(6)返回棧頂元素

value_type& top();
const value_type& top() const;