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