实现一个栈,栈初始为空,支持四种操作:

(1) “push x” – 向栈顶插入一个数x;

(2) “pop” – 从栈顶弹出一个数;

(3) “empty” – 判断栈是否为空;

(4) “query” – 查询栈顶元素。

现在要对栈进行M个操作,其中的每个操作3和操作4都要

#include<bits/stdc++.h>
#define N 100010
using namespace std;
int n;
int a[N],top;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
string b;int k;
cin>>b;
if(b=="empty")if(top==0)puts("YES");else puts("NO");
if(b=="push"){scanf("%d",&k);a[++top]=k;}
if(b=="query")printf("%d\n",a[top]);
if(b=="pop"&&top)top--; }
return 0;
}

输出相应的结果。

AcWing 828. 模拟栈的更多相关文章

  1. ACM/ICPC 之 用双向链表 or 模拟栈 解“栈混洗”问题-火车调度(TSH OJ - Train)

    本篇用双向链表和模拟栈混洗过程两种解答方式具体解答“栈混洗”的应用问题 有关栈混洗的定义和解释在此篇:手记-栈与队列相关 列车调度(Train) 描述 某列车调度站的铁道联接结构如Figure 1所示 ...

  2. java 16 - 5 LinkedList模拟栈数据结构的集合

    请用LinkedList模拟栈数据结构的集合,并测试 题目的意思是: 你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟. package cn_LinkedList; impo ...

  3. hdu 4699 Editor 模拟栈

    思路:刚开始用STL中的栈,一直RE……,之后改为手动模拟栈操作,在注意点细节就可以了!!! 代码如下: #include<cstdio> #include<cstring> ...

  4. 【DataStructure In Python】Python模拟栈和队列

    用Python模拟栈和队列主要是利用List,当然也可以使用collection的deque.以下内容为栈: #! /usr/bin/env python # DataStructure Stack ...

  5. 第一回写的用arraylist模拟栈操作

    package hashMap; import java.util.ArrayList; import d.Student; /** * 用ArrayList模拟栈操作 * @author zhuji ...

  6. HDOJ/HDU 1022 Train Problem I(模拟栈)

    Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays. A lot o ...

  7. c语言学习,模拟栈操作

    1.stack.c模拟栈操作函数的实现 #include<stdio.h> #include<stdlib.h> ; static char *stack;//数据栈 ;//栈 ...

  8. KEILC51可重入函数及模拟栈浅析

    MARK:文章中的红色部分是个人的理解. KEILC51可重入函数及模拟栈浅析 关键字:keilc51,模拟堆栈,可重入函数调用,参数传递,C?XBP,C?ADDXBP 摘要:本文较详细的介绍了kei ...

  9. 使用golang的slice来模拟栈

    slice(切片):底层数据结构是数组 stack(栈):一种先进后出的数据结构 普通版的模拟写入和读取的栈 package main import "fmt" //栈的特点是先进 ...

随机推荐

  1. Docker Swarm(二)常用命令

    # 管理配置文件 docker config     # 查看已创建配置文件     - docker config ls     # 将已有配置文件添加到docker配置文件中     - dock ...

  2. Flume 常用配置项

    注:以下配置项均为常见配置项,查询详细配置项可以访问 flume 官网 Source 常见配置项 Avro Source 配置项名称 默认值 描述 Channel – type – 组件类型名称,必须 ...

  3. 基于多端口的Web服务

    [Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...

  4. 配置yum仓库的三种方法光盘镜像、nginx、sftp

    方法一: 1.安装ftp服务 [root@oldboy ~]# yum -y install vsftpd 2.查看vsftpd相关的配置文件和目录 rpm -ql vsftpd # 查看vsftpd ...

  5. win10 中安装 JDK8 以及环境配置

    下载和安装 JDK8 下载 下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 安装 直接双 ...

  6. UCOSII中的主栈扩展

    听陈*均说 UCOSII源代码中有这样的机制 当某个TASK的栈不够用.访问越界时 会自动调用系统生成的备用扩展栈区 但这样也有风险 备用扩展栈区如果被击穿则会造成更大的错误,可能会导致程序跑飞,如果 ...

  7. GCC编译 C与C++ C89与C99

    1) 最初的 ANSI C 标准 (X3.159-1989) 在 1989 年被批准,并于 1990 年发布.稍后这个标准被接受为 ISO 标准 (ISO/IEC 9899:1990) .虽然 ISO ...

  8. gpgj - 06.估值分析举例

    06.估值分析举例 1.举个栗子-贵州茅台的护城河 品牌效益高 只有高档产品 不卖中低档,不会拉低公司收入 {   "question": "我们来复习一下护城河要如何分 ...

  9. Docker之tomcat安装与部署项目

    docker安装tomcat  docker pull tomcat:8.5 等待... (1)正常的方式启动tomcat  docker run -d --name tomcat -p 80:808 ...

  10. Django(37)配置django日志

    前言   django框架的日志通过python内置的logging模块实现的,既可以记录自定义的一些信息描述,也可以记录系统运行中的一些对象数据,还可以记录包括堆栈跟踪.错误代码之类的详细信息.   ...