Description
在大学里学习了一个学期了,大家大都对所学的专业有了基本的了解。许多同学也已经知道了到大二要开一门课叫做《数据结构》,那么今天给你们提前讲一下一个最简单的数据结构:栈。 栈的基本操作有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)。
然后,你们可以看出来了吧,其实栈就是一个先进后出(越先进去的元素越后面出来)的数据结构,很简单吧,下面要检验下你们的学习效果了。
Input
输入包含多组测试数据.
每组数据的第一行为一个整数 T(1 <= T <= 1000 ),接下来 T 行为对栈的操作。

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

Sample
Input

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

Output

4
3

empty
Hint

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner reader = new Scanner(System.in);int t, num;while(reader.hasNext()) {t = reader.nextInt();String str;num = 0;int [] a = new int [1000]; for(int i = 0; i < t; i++) {str = reader.next();if(str.compareTo("push") == 0) {int x = reader.nextInt();a[num++] = x;} else if(str.compareTo("top") == 0) {if(num == 0) {System.out.println("empty");} else System.out.println(a[num - 1]);} else if(str.compareTo("pop") == 0) {if(num == 0) {System.out.println("error");} else {num--;}}}System.out.println();}reader.close();}
}

传说中的数据结构_JAVA相关推荐

  1. 【2556】传说中的数据结构 sdutOJ

     传说中的数据结构 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 在大学里学习了一个学期了,大家大都对所学的专业有了基本的了 ...

  2. java机试 数据结构_Java数据结构面试题

    1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D) A.栈是非线性结构B.栈是一种树状结构C.栈 ...

  3. java 结构数据结构_Java 数据结构

    Java 数据结构 Java工具包提供了强大的数据结构.在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) ...

  4. java链表的数据结构_Java数据结构 获取链表(LinkedList)的第一个和最后一个元素

    Java数据结构 获取链表(LinkedList)的第一个和最后一个元素 以下实例演示了如何使用 LinkedList 类的 linkedlistname.getFirst() 和 linkedlis ...

  5. java 数据结构_Java版-数据结构-队列(数组队列)

    前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...

  6. java数组数据结构_Java数据结构之数组

    自定义数组(面向对象编程): 直接上代码:package com.xingej.algorithm.datastructure.array; /** * 面向对象编程 * * 自定义类数组 * * 你 ...

  7. 哈希表数据结构_Java数据结构哈希表如何避免冲突

    前言 一.哈希表是what? 这是百度上给出的回答: 简而言之,为什么要有这种数据结构呢? 因为我们想不经过任何比较,一次从表中得到想要搜索的元素.所以就构造出来了哈希表,通过某种函数(哈希函数)使元 ...

  8. java 数据结构_Java数据结构学习方法

    Java数据结构 要理解Java数据结构,必须能清楚何为数据结构? 数据结构: Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系. 而各数据元 ...

  9. java中数据结构_JAVA中数据结构总结

    本篇文章主要总结一下JAVA中实现的几种数据结构 简述: List>:链表结构. Queue>:队列,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,队列 ...

最新文章

  1. 跨国企业频繁并购,SAP咨询行业的非常利好
  2. 需求用例分析之四:业务规则
  3. UIModalPresentationStyle 各种类型的区别
  4. web前端技巧-ES6新特性与重点知识汇总(三)
  5. 前端学习(2505):小游戏设计
  6. golang 排序_堆 堆排序 优先队列 图文详解(Golang实现)
  7. Codeforces 1091E New Year and the Acquaintance Estimation Erdős–Gallai定理
  8. AI+云原生,把卫星遥感虐的死去活来
  9. 数字金额转为大写金额(C#)
  10. Django,Celery, rabbitmq
  11. 记录蚂蚁笔记服务端的搭建过程
  12. 素士科技IPO折戟,困于营销和小米
  13. Linux命令:reboot
  14. 一步到位Composer直接打开SOLIDWORKS贴图
  15. Excel中建立数据透视表,想用计算字段功能,但是该选项灰色无法点击,怎么办?
  16. 如何去除软件内嵌广告_iphone如何一键去除app内置小广告?
  17. 如何将列表转换为字符串Python?
  18. LIO-SAM:点云预处理前端---畸变矫正数据预处理
  19. Unity安卓Android平台StreamingAssets下文件的读取
  20. 在SAR-Opt数据融合领域针对深度学习的SEN1-2数据集

热门文章

  1. 漫谈九品中正制和现阶段阶层分层
  2. 深度学习人体姿态估计算法综述
  3. No operations allowed after connection closed--转
  4. spring源码分析之定时任务概述
  5. jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档
  6. 微盟涉嫌二清,大商户模式将受理严监管
  7. 【风险管理】(第一篇)风险管理核心指标
  8. 针对这一行业痛点,创新工场投资的潞晨科技发布了大规模并行AI训练系统——“夸父”(Colossal-AI) ,通过多维并行、大规模优化器、自适应任务调度、消除冗余内存、降低能量损耗等方式,旨在打造一个
  9. 《Credit Risk Scorecard》第四章:Data Review and Project Parameters
  10. 云白条,做有温度的金融,帮助有困难的人