1. 程式人生 > >C++STL stack的簡單使用

C++STL stack的簡單使用

棧容器的內容比較少,只提供了入棧,出棧,棧的大小,棧頂元素等函式,沒有提供迭代器等,無法訪問。

不用遍歷內部元素時可以使用。

程式碼:

/*

statck
Author:YuBo
Date:2018/2/5
*/
#include<iostream>
#include<stack>
using namespace std;
stack<int> s;
void menu()
{
    cout<<"******1.入棧      2.出棧******"<<endl;
    cout<<"******3.讀取棧頂  4.棧的大小******"<<endl;
    cout<<"******5.退出"<<endl;
}

void PUSH()
{   
    int i;int n;int N;
    cout<<"請輸入你要輸入的整數個數:"<<endl;
    cin>>N;
    cout<<"請輸入"<<N<<"個整數:"<<endl;
    for(i=0;i<N;i++)
    {
        cin>>n;
        s.push(n);
    }
}
 void POP()
 {
    int i,N;
    cout<<"請輸入你要刪除的整數個數:"<<endl;
    cin>>N;
    if(N>s.size())cout<<"裡面沒有這麼多元素。。。"<<endl;
    else{
       for(i=0;i<N;i++)
       {
        s.pop();
       }
    }
 }
  void Gettop()
  {
      if(s.empty())cout<<"棧已經空了!"<<endl;
      else cout<<"棧頂元素為:"<<s.top()<<endl;
  }
  void Getsize()
  {
      cout<<"棧的大小為:"<<s.size()<<endl;
  }
int main()
{
    int i;
       while(1)
    {
      menu();
      cout<<"請輸入選單號:"<<endl;
      cin>>i;
      if(i==5)break;
      switch(i)
      {
      case 1:PUSH();break;
      case 2:POP();break;
      case 3:Gettop();break;
      case 4:Getsize();break;
      default:cout<<"輸入錯誤!";break;
      }
    }
    return 0;

}

執行截圖:


有問題請下方評論,轉載請註明出處,並附有原文連結,謝謝!如有侵權,請及時聯絡。


相關推薦

C++STL stack簡單使用

棧容器的內容比較少,只提供了入棧,出棧,棧的大小,棧頂元素等函式,沒有提供迭代器等,無法訪問。 不用遍歷內部元素時可以使用。 程式碼: /* statck Author:YuBo Date:2018/2/5 */ #include<iostream> #incl

C++ STL stack&queue

1、stackstack 模板類的定義在<stack>標頭檔案中。stack 模板類需要兩個模板引數,一個是元素型別,一個容器型別,但只有元素型別是必要的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例程式碼如下:stack<int> s1;sta

C++ STL--stack/queue 的使用方法

1、stack stack 模板類的定義在標頭檔案中。 stack 模板類需要兩個模板引數,一個是元素型別,一個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。 定義stack 物件的示例程式碼如下: stack s

C++ STL stack/queue

1、stackstack 模板類的定義在<stack>標頭檔案中。stack 模板類需要兩個模板引數,一個是元素型別,一個容器型別,但只有元素型別是必要的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例程式碼如下:stack<i

STL stack簡單使用

下面是STL stack的一些簡單使用例子,上程式碼: // Stack.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> #include<stack> #include

C++ STL--stack堆疊容器學習筆記

    堆疊是一個線性表,插入和刪除只在表的一段進行,該端稱為棧頂,另一端稱為棧底。堆疊的元素插入稱為入棧,元素的刪除稱為出棧。由於元素的出與入均在棧頂進行,則堆疊是一個後進先出表,即LIFO(last in first out)。 C++ STL的堆疊泛化是直接通過現有的

C++ STL stack介紹與使用方法

stack(棧) 在學習資料結構中我們知道,棧是一種邏輯資料結構,其具有後進先出的特性。同時,我們也可以把它想象成一個容器,一個真實容器,新增與刪除只能在容器頂部完成。棧的應用非常廣,我們知道任何程式從記憶體進入CPU執行,系統為了保證程式正確的執行,將程式二

C++ STL stack實現(棧)

       1)Stack是一種關聯容器,是通過簡單地修飾線性類deque的介面而獲得的另一種“容器類”,往往被歸結為配接器(adapter)而不是容器(container)。                  stack不能遍歷,所以沒有迭代器!!!        

C++ STL Stack 快速入門

1、STACK 相對來說,STACK是一個比較簡單的容器,它的使用也比較簡單。 STACK是LIFO容器,就是後進先出。最後新增進去的元素,第一個取出來。 2、STACK常用方法 template stack<class T,class Container = de

c++ stl stack(FILO,容器配接器)

1.stack   stack是一種先進後出的資料結構,它只有一個出口。stack允許新增元素、移除元素、取得最頂元素。但除了最頂端外,沒有任何其他方法可以存取stack的其他元素。換言之,stack

10、【C++ STL】容器適配器(stack queue priority_queue)

pub function 適配 pty str 成員 cto ali The 容器適配器   stack、queue、priority_queue 都不支持任一種叠代器,它們都是容器適配器類型,stack是用vector/deque/list對象創建了一個先進後出容器;qu

c++ stl棧容器stack用法介紹

stack堆疊容器 堆疊是一個線性表,插入和刪除只在表的一端進行。這一端稱為棧頂(Stack Top),另一端則為棧底(Stack Bottom)。堆疊的元素插入稱為入棧,元素的刪除稱為出棧。由於元素的入棧和出棧總在棧頂進行,因此,堆疊是一個後進先出(Last In First

一個程式包含C++ STLstack常見用法

下面是程式:  #include <iostream> #include <stack> using namespace std; int main() { //建立一個空

C++ primer 》 獵豹網校 順序容器 STL stack 2018/10/7

(堆)棧:LIFO後進先出 自適應容器(容器介面卡) 棧介面卡 STLstack 主要用於系統軟體開發,專業程式設計師應用 計算機編譯       stack<int , deque<int>>      s;        stack<

c++ STLstack

  #define VNAME(value) {cout<<(#value)<<":"<<endl;} void print_stack(stack<int> v){ while (!v.empty()) { cout&

8、【C++ STL】容器介面卡(stack/queue/priority_queue)

容器介面卡     stack、queue、priority_queue 都不支援任一種迭代器,它們都是容器介面卡型別,stack是用vector/deque/list物件建立了一個先進後出容器;queue是用deque或list物件建立了一個先進先出容器;pr

C++STL學習——stack與queue容器

stack容器 簡介 stack是一種堆疊容器,是一種"先進後出"的容器。 stack是簡單地裝飾deque容器而成為另外的一種容器 標頭檔案#include<stack> stack物件的預設構造 stack採用模板類實現, stack

c++stl中的stack

1. stack堆疊是一個後進先出(Last In First Out,LIFO)的線性表,插入和刪除元素都只能在表的一端進行。插入元素的一端稱為棧頂,而另一端稱為棧底。插入元素叫入棧(Push

c++ STL中棧stack的用法

1.宣告一個stack    stack<int> s1;    stack<string> s2; 2.stack中的操作     stack<int> s;     s.push(x)      無返回值,將元素x壓棧

c++ STL容器之棧stack

Stack簡介C++ Stack(堆疊) 是一個容器類的改編,為程式設計師提供了堆疊的全部功能,——也就是說實現了一個先進後出(FILO)的資料結構。Stack初始化stack<int>  s;通過s.push() 為棧賦值,如s.push(1);stack常用函