import java.util.List;
import java.util.ArrayList;
public class StackS {
private long size;
//栈的大小
private List<Object> stacks = new ArrayList<Object>();
//栈
/**
* 初始化栈
* @param size
*/
public StackS(long size){
this.size = size;
}
/**
* 入栈
* @param obj
*/
public void push(Object obj){
if (this.stacks.size() < this.size) {
this.stacks.add(obj);
}else{
System.out.println("栈已满。。。。。。");
}
}
/**
* 出栈
* @return
*/
public Object pop(){
Object obj;
if (!this.isEmpty()) {
System.out.println("栈为空。。。。。。");
obj = null;
}else{
obj = this.peek();
this.stacks.remove(this.stacks.size() - 1);
}
return obj;
}
/**
* 判断栈是否为空
* @return
*/
public boolean isEmpty(){
return this.stacks.size() <= 0 ? false : true;
}
/**
* 判断栈是否为满
* @return
*/
public boolean isFull(){
return this.stacks.size() == this.size ? true : false;
}
/**
* 获取栈顶元素
* @return
*/
public Object peek(){
Object obj;
if (!this.isEmpty()) {
System.out.println("栈为空。。。。。。");
obj = null;
}else{
obj = this.stacks.get(this.stacks.size() - 1);
}
return obj;
}
/**
* 获取栈大小
* @return
*/
public long size(){
return this.stacks.size();
}
}
分享到:
相关推荐
使用LinkedList模拟堆栈操作,包括进栈、出栈,入队、出队
堆栈是计算机中重要的数据结构之一,本次课程设计就是要用程序模拟堆栈的实现,我用的是java实现的.
这是一篇使用java模拟队列实现的程序的课程设计,包含了队列界面的设计以及队列数据结构的模拟实现,是java学习的很好的参照,另外,包含了部分的源代码,具体源代码在其它文件夹。
这个程序模仿jvm的堆栈管理和指令处理,压缩包中有java工程和一份运行结果文档。
两种方法: 传统的递归快速排序 采用非递归堆栈模拟
该资源是Java实现LRU算法的相关代码,将页面序号和进程分配的模块数,运行出具体的变化过程,真实可靠,可实现。
在这里假设汽车不能从便道上开走,试设计这样一个停车厂模拟管理程序。 [概要设计] 1.定义Stack接口 2.设计停车场堆栈ParkStack 3.定义Queue接口 4.设计等待队列WaitQueue 5.定义结点类Node 6.搭建管理界面
Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的...
题目:两个栈模拟一个队列,剑指offer书中的题目,用java写的
JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的...
SnakeScript是一款JAVA游戏模拟脚本引擎,程序代码类似于C。 本版新增功能及特性: 1.动态优先级设定; 2.动态实现脚本的加载、释放、暂停、恢复、结束等控制; 3.自动堆栈平衡; 4.无限级别函数调用...
Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
代码在模拟机、真机上都测试通过。android 1.6的平台。 都是很简单的代码,不复杂。特别是得到任务堆栈列表,以前网上看到的代码功能都比较多,比较复杂,作为菜鸟的我,头都看大了。。。。 其实我只想得到任务堆栈...
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java Virtual Machine(Java虚拟机),它bai是一个虚构出来du的计算机,是通过在实际的计算机上仿zhi真模拟各种计算机功能dao来实现的,。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令...
Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种...
兼容性:该堆栈是用纯 Java 编写的,可以在所有主要操作系统上运行,包括 Windows、macOS 和 Linux。 IEC61850bean 支持以下 IEC 61850 服务: 所有 GetDirectory 和 GetDataDefinition 服务 GetDataValues 和 ...
Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种...
最初它是在 Java 中递归实现的,这导致了大约 7000 次迭代的堆栈溢出。 使用 while 循环是有效的,您可以进行无限迭代。 你能在 Java 中实现尾调用递归吗? 空间复杂度=邻域的大小? 时间 = 您必须查看的最坏情况板...
但是,在Java中使用C API会很痛苦,并且大多数LLVM示例/文档/堆栈溢出都是关于以C ++方式使用LLVM。 为了简化LLVM在Java项目中的使用,我们构建了这个库,用于在分析LLVM IR时在Java中编写自己的软件。 该项目的...