C++中stack容器的使用
一、stack容器
1.1 簡(jiǎn)介
① stack是一種先進(jìn)后出的容器,它只有一個(gè)出口。
② 棧中只有頂端的元素才可以被外界使用,因此棧不允許有遍歷行為。
③ 棧中進(jìn)入數(shù)據(jù)稱為:入棧 push
④ 棧中彈出數(shù)據(jù)稱為:出棧 pop
1.2 常用接口
① 功能描述:棧容器常用的對(duì)外接口。
② 構(gòu)造函數(shù):
stack stk; //stack采用模板類實(shí)現(xiàn),stack對(duì)象的默認(rèn)構(gòu)造形式 stack(const stack &stk); //拷貝構(gòu)造函數(shù)
③ 賦值操作:
stack& operator=(const stack &stk); //重載等號(hào)操作符
④ 數(shù)據(jù)存取:
push(elem); //向棧頂添加元素 pop(); //從棧頂移除第一個(gè)元素 top(); //返回棧頂元素
⑤ 大小操作:
empty(); //判斷堆棧是否為空 size(); //返回棧的大小 #include<iostream> using namespace std; #include <stack> //棧stack容器 void test01() { //特點(diǎn):符合先進(jìn)后出數(shù)據(jù)結(jié)構(gòu) stack<int>s; //入棧 s.push(10); s.push(20); s.push(30); s.push(40); //只要棧不為空,查看棧頂,并且執(zhí)行出棧操作 while (!s.empty()) { //查看棧頂元素 cout << "棧頂元素為:" << s.size() << endl; //出棧 s.pop(); } cout << "棧的大?。? << s.size() << endl; } int main() { test01(); system("pause"); return 0; }
運(yùn)行結(jié)果:
棧頂元素為:4
棧頂元素為:3
棧頂元素為:2
棧頂元素為:1
棧的大?。?
請(qǐng)按任意鍵繼續(xù). . .
到此這篇關(guān)于C++中stack容器的使用的文章就介紹到這了,更多相關(guān)C++ stack容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ 虛函數(shù)和純虛函數(shù)的區(qū)別分析
這篇文章主要介紹了C++ 虛函數(shù)和純虛函數(shù)的區(qū)別,幫助大家更好的理解和學(xué)習(xí)c++的相關(guān)知識(shí),感興趣的朋友可以了解下2020-10-10C語(yǔ)言順序表的基本結(jié)構(gòu)與實(shí)現(xiàn)思路詳解
順序表是用一段物理地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)數(shù)據(jù)元素的線性結(jié)構(gòu),一般情況下采用數(shù)組存儲(chǔ)。本文將通過示例為大家講解一下順序表的基本操作,需要的可以參考一下2023-02-02利用C語(yǔ)言編輯畫圖程序的實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄肅語(yǔ)言編輯畫圖程序的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06C++線程優(yōu)先級(jí)SetThreadPriority的使用實(shí)例
這篇文章主要介紹了C++線程優(yōu)先級(jí)SetThreadPriority的使用實(shí)例,較為詳細(xì)的講述了C++線程及其優(yōu)先級(jí)的用法,需要的朋友可以參考下2014-10-10詳解C語(yǔ)言中scanf函數(shù)使用的一些注意點(diǎn)
這篇文章主要介紹了C語(yǔ)言中scanf函數(shù)使用的一些注意點(diǎn),scanf函數(shù)的使用是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04