Java定义栈结构,实现入栈、出栈操作
package com.example.demo;
import java.util.ArrayList;
public class Stack {
ArrayList<Object> list = new ArrayList<>();
//入栈
public void push(Object o){
list.add(o);
}
//出栈
public Object pop(){
Object o = list.get(list.size() - );
list.remove(o);
return o;
}
//栈是否为空
public boolean isEmpty(){
return list.isEmpty();
}
//栈大小
public int size(){
return list.size();
}
//打印栈元素
@Override
public String toString(){
return String.valueOf(list);
}
}
class main{
public static void main(String[] args) {
//创建一个栈
Stack stack = new Stack();
//入栈
for(int i=;i<=;i++){
stack.push(i);
}
//出栈
while(!stack.isEmpty()){
System.out.println("栈:" + stack.toString() + "\t栈大小为:" + stack.size() + "\t出栈元素为:" + stack.pop());
}
}
}
栈:[, , , , , , , , , ] 栈大小为: 出栈元素为:
栈:[, , , , , , , , ] 栈大小为: 出栈元素为:
栈:[, , , , , , , ] 栈大小为: 出栈元素为:
栈:[, , , , , , ] 栈大小为: 出栈元素为:
栈:[, , , , , ] 栈大小为: 出栈元素为:
栈:[, , , , ] 栈大小为: 出栈元素为:
栈:[, , , ] 栈大小为: 出栈元素为:
栈:[, , ] 栈大小为: 出栈元素为:
栈:[, ] 栈大小为: 出栈元素为:
栈:[] 栈大小为: 出栈元素为:
Java定义栈结构,实现入栈、出栈操作的更多相关文章
- 剑指offer-面试题22.栈的压入,弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第 二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等. 例如序列1.2.3.4.5是某栈的压栈序列,序列4.5.3.2.1 是该压栈 ...
- HDU 1022 Train Problem I[给出两个长n的串,入栈和出栈顺序,判断入栈顺序是否可以匹配出栈顺序]
Train Problem I 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 As the new term comes, the Ignatius Train Sta ...
- SDUT-3334_数据结构实验之栈与队列七:出栈序列判定
数据结构实验之栈与队列七:出栈序列判定 Time Limit: 30 ms Memory Limit: 1000 KiB Problem Description 给一个初始的入栈序列,其次序即为元素的 ...
- 面试 16:栈的压入压出队列(剑指 Offer 第 22 题)
我们今天继续来看看周五留下的习题: 面试题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如:压入序列为{1,2,3,4,5},那{ ...
- 【剑指offer】栈的压入弹出序列,C++实现(举例)
原创文章,转载请注明出处! 本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为第一个序列的出栈序列.注意 ...
- 剑指Offer20 栈的压入弹出序列是否正确
/************************************************************************* > File Name: 20_IsPopO ...
- Java实现检验一串数字的出栈合法性
题目描述: 解题思路: 判断出栈合法性的关键在于,对于每一个数,在它后面出栈且比它小的数,必是以降序排列的. 比如说3 4 2 1 5这一组数,对于第一个数 3 来说,后面比它小的数有 1.2,而在4 ...
- 剑指offer - 栈的压入弹出序列 - JavaScript
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 ...
- 剑指offer 栈的压入弹出 顺序
判断: 如果下一个弹出的数字刚好是栈顶元素,那么直接弹出 如果下一个弹出的数字不在栈顶,我们要把压栈序列中,还没有入栈的数字压入辅助栈,知道把下一个需要弹出的数字压入栈顶 如果所有的数字都入栈,但是仍 ...
- Java定义队结构,实现入队、出队操作
package com.example.demo; import java.util.ArrayList; public class Queue { ArrayList<Object> l ...
随机推荐
- INavigationAware接口示例
INavigationAware接口 public interface INavigationAware { bool IsNavigationTarget(NavigationContext ...
- 如何在gradle项目中添加额外非开源jar包并提交代码
前提:项目开发中,遇到一个地方需要用到公司自定义的jar包,然后要放到代码里又不方便提交到私服 具体实施: 首先在项目中增加一个 libs目录,然后把这种非开源又不在私服上的jar包扔进去, 然后打开 ...
- 八十:memcached之安装与参数
Memcached是一个高并发的内存键值对缓存系统,它的主要作用是将数据库查询结果,内容,以及其它一些耗时的计算结果缓存到系统内存中,从而加速Web应用程序的响应速度. 官网:http://memca ...
- C++输入输出流加速器,关闭同步流,ios::sync_with_stdio(false)和 cin.tie(0)
leetcode练习时,总会发现运行时间短的代码都会有类似: static int x=[](){ std::ios::sync_with_stdio(false); cin.tie(NULL); ; ...
- 仿flash运动框架
github地址: [https://github.com/linxd5/pictureShow] PS: 新建一个github项目很简单,只要new一个repo,后面按照提示做就可以了~ 项目思路: ...
- java:LeakFilling(Other)
1.Java项目的API文档如何生成?请将步骤写出. javadoc 源文件名.java; 2.增加package以后,我们在DOS下编译怎么做? javac -d . Test.java 3.Jav ...
- NOIp2018D1T2 货币系统【分析&完全背包】
题目传送门 看到题目瞬间想起某凯的疑惑,感觉不会做....然后观察样例可以知道,去掉原来货币系统中能够被其他币值凑出来的数就是答案(样例分析法),然后就完事了(huaji). 简单理解一下吧: 首先, ...
- 封装自己的jquery插件
自己尝试封装的一个在工作当中使用的多级弹窗插件: ;(function ($, window, document) { //用一个自调用匿名函数把插架代码包裹起来,防止代码污染 $.fn.multi ...
- c++ | size_t
1.size_t的定义 size_t是一种数据相关的无符号类型,它被设计得足够大以便能够内存中任意对象的大小. 在cstddef头文件中定义了size_t类型,这个文件是C标准库stddef.h头文件 ...
- iframe在firefox下的无法正常target问题
今日在改一个网站的时候碰到个奇葩的问题. 把网站按照结构划分,做了个主页面,嵌入iframe,设定该iframe的name,主页面上的链接使用target保证在iframe中打开该链接. 听上去很常规 ...