C++STL stack的簡單使用
棧容器的內容比較少,只提供了入棧,出棧,棧的大小,棧頂元素等函式,沒有提供迭代器等,無法訪問。
不用遍歷內部元素時可以使用。
程式碼:
/*
statckAuthor: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++ STL中stack常見用法
下面是程式: #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++ STL 之 stack
#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常用函