我是靠谱客的博主 淡然发箍,最近开发中收集的这篇文章主要介绍C++ stack详解C++ stack详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C++ stack详解

堆栈

一种数据项按序排列的数据结构

特点

由于只能在一端(称为栈顶(top))对数据项进行插入和删除, 因此堆栈中元素先进后出

适用条件

内存分配 取放盘子 电梯人员出入等符合堆栈特点的操作

常用函数

stack<int> q;	//以int型为例
int x;
q.push(x);		//将x压入栈顶
q.top();		//返回栈顶的元素
q.pop();		//删除栈顶的元素
q.size();		//返回栈中元素的个数
q.empty();		//检查栈是否为空,若为空返回true,否则返回false
q.emplace();    //将自定义数据类型压入栈顶使用emplace.

例题

操作栈 51Nod - 3199

#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>b;--i)
using namespace std;
const int N = 100005;
inline int read(){
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
void put(int x) {
    if(x<0) putchar('-'),x=-x;
    if(x>=10) put(x/10);
    putchar(x%10^48);
}
signed main(){
    stack<int> st;
    int n=read();
    while(n--){
        int m=read();
        if(m==1){
            int x=read();
            st.push(x);
        }
        else{
            if(st.empty()){
                printf("empty");
            }
            else{
                put(st.top());
                puts("");
                st.pop();
            }
        }
    }
    return 0;
}

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

最后

以上就是淡然发箍为你收集整理的C++ stack详解C++ stack详解的全部内容,希望文章能够帮你解决C++ stack详解C++ stack详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部