栈--只允许访问第一个数据项即:最后插入的数据。最简单的一句话描述:后进先出!
public class StackX {
private int maxSize;
private long[] stackArray;
private int top;
//初始化
public StackX(int s) {
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
//入栈
public void push(long j) {
stackArray[++top] = j;
}
//出栈
public long pop() {
return stackArray[top--];
}
//查看栈顶元素
public long peek() {
return stackArray[top];
}
//栈是否为空
public boolean isEmpty() {
return top == -1;
}
//栈是否已满
public boolean isFull() {
return top == maxSize - 1;
}
//例子测试
public static void main(String[] args) {
StackX sx = new StackX(10);
sx.push(1);
sx.push(3);
sx.push(5);
sx.push(7);
while (!sx.isEmpty()) {
System.out.print(sx.pop()+" ");
}
}
栈的两个简单应用:
栈的简单应用--单词反转
http://www.exceptionhelp.com/posts/558
栈的简单应用--分隔符匹配
http://www.exceptionhelp.com/posts/559
分享到:
相关推荐
下面将详细解释这些概念及其Java实现。 **线性表** 是一种基本的数据结构,它是由n(n>=0)个相同类型元素构成的有限序列。线性表中的元素具有顺序关系,即每个元素都有一个前驱和后继,除了第一个元素没有前驱,...
实现一个栈,要求使用O(1)时间获取栈中最小值,O(1)执行pop、push操作。
本文将深入探讨Java中栈的实现以及其在实际应用中的使用。 首先,我们来理解栈的基本概念。栈是一种特殊类型的线性数据结构,其中元素的添加和删除操作(称为入栈和出栈)只在数据结构的一端进行,这一端被称为栈顶...
### 栈的Java语言实现详解 #### 一、栈的基本概念 栈是一种特殊的线性表,只允许在表的一端...这些内容不仅有助于理解栈的工作原理,还能帮助读者掌握栈的Java实现技巧,为进一步学习算法和数据结构打下坚实的基础。
用java实现的栈Stack类,不继承任何集合类,用对象数组实现
用Java实现一个栈
本项目是利用栈来实现一个简单的计算器,不支持括号表达式的计算,其用户界面是通过Java Swing库构建的。下面将详细介绍这个计算器的实现原理以及涉及到的相关知识点。 1. **栈的基本概念**: 栈是一种线性数据...
3. 如何使用Java实现SIP客户端和服务器端。 4. Eclipse开发环境的使用和调试技巧。 5. Ant构建工具的使用。 6. 日志记录和调试技术。 7. 依赖管理和库的引入。 此外,还可以深入了解网络编程、多线程处理、异常处理...
在这个主题中,我们将深入探讨如何在Java中实现栈这一基本数据结构,具体包括顺序栈(stack_SqStack)和链栈(stack_SLinkList)。 栈是一种后进先出(Last In First Out, LIFO)的数据结构,常用于临时存储和快速...
java api 中也有stack,这个是根据stack的特性编写出来的; 此程序在功能上和java提供的功能是一样的,只是实现的方法不一样;
Java实现栈的基本操作
java数字栈和符号栈模拟计算器(中缀表达式) “计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说...
Java实现顺序栈是一种常见的数据结构操作,主要用于存储和管理元素序列。栈是一种后进先出(LIFO,Last In First Out)的数据结构,通常用于执行回溯、递归等算法。在Java中,我们可以使用数组或ArrayList来实现顺序...
在Java中,我们可以使用单链表来实现链式栈。下面将详细介绍链式栈的原理、实现以及相关操作。 **链式栈的基本概念** 栈是一种特殊的线性数据结构,遵循“后进先出”(Last In First Out, LIFO)原则。链式栈是用...
实现弹栈,进栈,判断栈是否为空或满等功能 Java入门的简单程序
java实现的顺序栈,部分代码:public class OrderStack { int top=-1; String[] stack; public OrderStack(int initcap)throws Exception{ if(initcap){
试用java.util.Stack泛型栈作为父类,用另一个泛型栈对象作为成员变量,模拟实现一个泛型子类Queue,当存储元素的第1个栈的元素超过dump时,再有元素入队列就倒入第2栈。除提供无参构造函数Queue( )外,其它所有队列...
然而,如果你需要自定义栈的行为或者优化性能,你可以选择实现`java.util.Deque`接口或者直接继承`java.util.ArrayList`或`java.util.LinkedList`来创建自己的栈。例如,下面是一个基于`ArrayList`的栈实现: ```...
Java 实现内存动态分配主要涉及Java内存模型以及内存管理...综上所述,Java实现内存动态分配涉及到对堆内存、栈内存的理解,以及对垃圾回收机制的掌握。通过实验模拟,可以更直观地了解这些概念在实际操作中的应用。
基于Java技术的一种modbus TCP协议栈的实现 本文对modbus TCP协议栈的实现进行了详细的分析和研究,介绍了基于Java技术的modbus TCP协议栈的构造,并结合了当前工业发展的需要,旨在实现远程监控工业机器与移动互联...