1. 程式人生 > >STL之棧(stack)(stack)的初步認識

STL之棧(stack)(stack)的初步認識

1。’棧的定義:

        所謂棧,就是一個符合“後進先出”規則的資料結構。

       棧定義在<stack> 標頭檔案中。

2.棧的宣告:     

   stack <int> s;        棧記憶體放的是int型。

   stack <float> s;    棧記憶體放的是float型。

   stack <string> s;     棧記憶體放的是string型。

  ..........  

   //棧內還可以設定指標型別或自定義型別。

3.棧的操作

  stack的push()與pop()的操作

stack.push(now);   //往棧頭增加元素now

stack.pop();   //從棧頭移除第一個元素

#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
int main()
{
	stack<int> s; 

	s.push(1);
	s.push(3);
	s.pop();   
	s.push(5);
	s.push(7);  
	s.push(9);
	s.pop();   
	s.pop();  
	
	while(!s.empty()){
		printf("%d \n",s.top());
		s.pop();
	}
	
	return 0;
 } 

輸出的結果是5 ,1

stack的top()的操作

  stack.top();   //從棧頭取一個元素,即返回最後一個壓入棧元素

stack的大小

stack.empty();   //判斷堆疊是否為空

 stack.size();      //返回堆疊的大小,即判斷棧中還有幾個元素

stack物件的拷貝構造與賦值

stack(const stack &stk);      //拷貝建構函式

stack& operator=(const stack &stk); //過載等號操作符

stkIntC = stkIntA; //賦值