容器配接器 stacks

2021-07-29 21:10:53 字數 1395 閱讀 6496

stack(堆疊)的簡單使用

#include

#include

using

namespace

std;

int main()

if (st < st1)

cout

<< st.size() << endl;//棧中元素的個數

cout

<< st.top() << endl;//返回棧頂元素

st.pop();//出棧

st.top() = 12;//改變棧頂元素值

st.push(11);

st.push(22);

cout

<< st.top() << endl;

while (!st.empty())//判斷棧是否為空,空-->true,非空-->false

return

0;}

stack的定義
namespace

std;

}//引數一代表元素型別

//引數二表示satck中實際存放元素的容器,預設值為deque,因為deque在移除元素時釋放記憶體,並且不再重新分配時複製全部元素

template

>

class

stack

// stack中元素個數

size_type size() const

// 返回棧頂元素, 注意這裡返回的是引用!!!

reference top()

const_reference top() const

// 在棧頂追加新元素

void push(const value_type& x)

// 移除棧頂元素, 注意不返回元素的引用,

// 很多初學者隨機用此容器時經常誤認為pop()操作同時會返回棧頂元素的引用

void pop()

}; // 判斷兩個stack是否相等, 就要測試其內部維護容器是否相等

// x.c == y.c會呼叫容器過載的operator ==

template

bool

operator==(const

stack

& x, const

stack

& y)

template

bool

operator

stack

& x, const

stack

& y)

STL 容器配接器

以底部容器完成所有工作,而具有這種修改某物介面而成為另一種風貌的性質者稱為配接器,因此stl stack queue priority queue都稱為容器配接器。stack是一種先進後出的資料結構,不允許有遍歷行為。stl是以deque作為預設情況下的stack底部結構。deque為底部結構並封閉...

函式配接器

函式配接器 bind1st op,value op value,param 繫結op的第乙個引數 bind2st op,value op param,value not1 op op param not2 op op param1,param2 int func1 int p1,int p2 int...

5 容器配接器和字串

c 標準程式庫還提供了三種容器配接器。1.stacks 堆疊 2.queue 佇列 3.priority queues 帶優先序的佇列 容器介面卡不提供迭代器操作。此外這裡還介紹乙個叫bitset的特殊容器。stacks只提供5個成員函式。1.push 2.top 3.pop 4.empty 5.s...