传说中的数据结构

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

在大学里学习了一个学期了,大家大都对所学的专业有了基本的了解。许多同学也已经知道了到大二要开一门课叫做《数据结构》,那么今天给你们提前讲一下一个最简单的数据结构:栈。 栈的基本操作有3种:push,pop,top。
例如,给你一个数列:1 2 3 4 
push:向栈中加入一个数,比如push 5,数列就变成1 2 3 4 5。
pop:从栈中删除最后面的数,比如 pop,数列就变成1 2 3。(数列变化,但是不输出。如果栈是空的,即不能 pop 操作,那就输出 error ,但是接下来的操作还是要继续的)。 
top:找出栈最后面的数,比如 top ,你就要输出4。(如果栈中没有数的话,即不能 top 操作,那就输出 empty)。
      然后,你们可以看出来了吧,其实栈就是一个先进后出(越先进去的元素越后面出来)的数据结构,很简单吧,下面要检验下你们的学习效果了。

输入

输入包含多组测试数据.
每组数据的第一行为一个整数 T(1 <= T <= 1000 ),接下来 T 行为对栈的操作。

输出

如果操作是top,那么输出最后面的数,如果栈中没有数的话,那就输出“empty”(不含引号)。
如果操作是pop且栈是空的,那么输出 “error”(不含引号)。
在每组测试数据的最后多加一次换行。

示例输入

8
push 1
push 2
push 3
push 4
top
pop
top
pop
3
push 1
pop
top

示例输出

4
3empty
#include <stdio.h>
#include <string.h>
int main()
{int a[1010],n,m,i,j,k;char str1[5]="push",str2[4]="top",str3[4]="pop",str[8];while(~scanf("%d",&n)){memset(a,0,sizeof(a));k=-1;for(i=0;i<n;i++){scanf("%s",str);if(strcmp(str1,str)==0){scanf("%d",&m);a[++k]=m;}if(strcmp(str2,str)==0){if(k<0)printf("empty\n");elseprintf("%d\n",a[k]);}if(strcmp(str3,str)==0){if(k<0)printf("error\n");else{a[k]=0;k--;}}}printf("\n");//注意输出格式}return 0;
}

转载于:https://www.cnblogs.com/jiangyongy/p/3971683.html

【2556】传说中的数据结构 sdutOJ相关推荐

  1. 传说中的数据结构_JAVA

    Description 在大学里学习了一个学期了,大家大都对所学的专业有了基本的了解.许多同学也已经知道了到大二要开一门课叫做<数据结构>,那么今天给你们提前讲一下一个最简单的数据结构:栈 ...

  2. SDUT--OJ《数据结构与算法》实践能力专题训练6 图论

    A - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 Description 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点 ...

  3. 【1291】数据结构上机测试4.1:二叉树的遍历与应用1 SDUTOJ

     数据结构上机测试4.1:二叉树的遍历与应用1 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 输入二叉树的先序遍历序列和中序 ...

  4. 数据结构与算法(1)——数组与链表

    数组 什么是数组? 数组简单来说就是将所有的数据排成一排存放在系统分配的一个内存块上,通过使用特定元素的索引作为数组的下标,可以在常数时间内访问数组元素的这么一个结构: 为什么能在常数时间内访问数组元 ...

  5. 计算机科学与技术与cs,CSgo! | 遇见CS—带你走进传说中的计算机专业

    原标题:CSgo! | 遇见CS-带你走进传说中的计算机专业 遇见CS 带你走进传说中的计算机专业 首先恭喜各位小萌新进入华中科技大学计算机科学与技术学院,在这里大家将度过四年难忘的大学时光. 相信大 ...

  6. access表怎么生成表结构_数据结构——单链表讲解

    单链表 单链表的创建分为头插入法和尾插入法两种,两者并无本质上的不同,都是利用指针指向下一个结点元素的方式进行逐个创建,只不过使用头插入法最终得到的结果是逆序的. 1.单链表概念&设计 单链表 ...

  7. 数据结构-常用的排序算法

    总第123篇 好久不见哈,我终于又更新了,惊不惊喜,意不意外,哈哈哈哈.等之后会专门写一篇文章给大家汇报汇报我最近在忙什么呢,今天这篇还是接着之前的数据结构系列继续,主要讲讲数据结构里面常用的几种排序 ...

  8. 数风·数林 | 炉石传说中的概率(声控篇)

    文 / 慵懒之龟 引 / 北大数院人 声控是炉石传说最大的魅力所在,也是技术的重要一部分.肩负全村人的希望的乱斗,下螺丝的时候给它指定一个目标,再下四个我就是狗的130系列(笔者最近打JJC被130从 ...

  9. 数据结构中单链表的存储c语言,单链表一 - 数据结构与算法教程 - C语言网

    1. 单链表概念&设计 单链表是一种链式存取的数据结构,,链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指 ...

最新文章

  1. Ubuntu 12.04安装firefox 26中的flash plugin方法
  2. 关于产品体验以及产品会被抄袭的思考
  3. ESP32 One-Wire驱动功能
  4. 这届科技冬奥,就数这位北京大妞让人意想不到
  5. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
  6. Javascript JSON 序列化和反序列化
  7. mysql的sql手工注入基于回显,SQL手工注入漏洞测试(Sql Server数据库)
  8. 如何自动判断域名是否被微信拦截 被微信屏蔽的域名网址如何正常打开使用
  9. 冲刺一阶段———个人总结04
  10. ionic2 html 转义,ionic2 基于ngx-translate实现多语言切换,翻译
  11. mysql数据库密码错误_MySQL数据库经典错误六 数据库密码忘记的问题
  12. jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧
  13. 读书:《带人的技术》
  14. redhat java配置
  15. Spring源码之事务(二)
  16. 简约的手机APP自适应下载页HTML源码
  17. 一文带你了解SQL的执行计划(explain)
  18. 通信专业顶刊_通信类期刊排名
  19. 快速迭代式开发使用方法总结
  20. 金石无线服务器效果怎么样,天线效果不好?快来看看是不是这几个地方出了问题!...

热门文章

  1. angular2-swiper幻灯片模块使用方法
  2. Centos 6 克隆导致网卡eth0变成eth1、及修改网卡名的方法
  3. vc++修改软件程序菜单实例
  4. .OCX、.dll文件注册命令Regsvr32的使用
  5. Eclipse SDK 4.2.2/Equinox 3.8.2 发布
  6. 韩寒:出了国才知道,外国是多么的落后(写的真委婉~不愧是韩寒)
  7. linux程序重读分区表,重读分区表, 求教~~, 系统是 Cent6.5,
  8. python数学库的使用方法_浅谈numpy库的常用基本操作方法
  9. TCP快速重传为什么是三次冗余ack,这个三次是怎么定下来的?
  10. SmartNIC/DPU — Overview