1. 程式人生 > >c++的STL中棧和佇列的簡單應用

c++的STL中棧和佇列的簡單應用

1.棧和佇列所在標頭檔案

佇列所在C++標頭檔案<queue>

棧所在C++標頭檔案<stack>

2.定義實現

queue<int> q;

stack<int> s;

3.佇列中的常見函式

q.empty();  bool型,判斷佇列是否為空

q.push(x);  將元素壓如隊尾

q.front();    返回隊頭元素,不刪除

q.back();    返回隊尾元素,不刪除

q.pop();     刪除隊尾元素,不返值

q.size();      返回隊中元素個數

4.棧中常用函式

s.empty();  判斷棧是否為空

s.size();     返回棧中元素個數

s.pop();     刪除棧頂元素

s.top();      返回棧頂元素

s.push(x);  將元素壓如棧頂

5.佇列程式碼實現

#include <iostream>  
#include <queue>  
  
using namespace std;  
  
int main()  
{  
    queue<int> q;  
  
    for(int i=0;i<9;i++)  
    {  
        int m;  
        cin>>m;  
        q.push(m);  
    }  
    cout<<q.empty()<<endl;  
    cout<<q.front()<<endl;  
    cout<<q.back()<<endl;  
    cout<<q.size()<<endl;  
    q.pop();  
    cout<<q.size()<<endl;  
    cout<<q.front()<<endl;  
    cout<<q.back()<<endl;  
    return 0;  
}


6.棧程式碼實現
#include <iostream>
#include <stack>

using namespace std;

int main()
{
    stack<int> s;

    for(int i=0;i<9;i++)
    {
        int m;
        cin>>m;
        s.push(m);
    }
    cout<<s.empty()<<endl;
    cout<<s.size()<<endl;
    cout<<s.top()<<endl;
    s.pop();
    cout<<s.size()<<endl;
    cout<<s.top()<<endl;

    return 0;
}