package date0609;
/**
*@author TonyJ
*@time 2011-6-9 下午03:18:00
*/
public class Test01 {
private long arr[];
private long temparr[];
private int maxSize;//栈的最大容量
private int top;//栈顶标志
public Test01(int s) {
maxSize = s;
arr = new long[s];
top = -1;
}
public void push(long data) {//数据入栈
if (top < maxSize-1) {
arr[++top] = data;
} else {//扩容栈空间
maxSize = maxSize * 2;
temparr = new long[maxSize];
System.arraycopy(arr, 0, temparr, 0, maxSize/2);
arr=temparr;
arr[++top] = data;
}
}
public long pull() {//数据出栈
return arr[top--];
}
public long peek() {//取得栈顶元素
return arr[top];
}
public boolean isEmpty() {//判断是栈否为空
return top == -1;
}
public boolean isFull() {//判断栈是否已满
return top == maxSize - 1;
}
public static void main(String[] args) {
Test01 t = new Test01(4);
t.push(1);
t.push(2);
t.push(3);
t.push(4);
t.push(5);
t.pull();
while(!t.isEmpty()){
System.out.print(t.pull()+",");
}
}
}
分享到:
相关推荐
Java实现栈的基本操作
2. **Stack类**:Java标准库中的`java.util.Stack`类也是实现栈的一个选项。它是`Vector`类的子类,因此具有线程安全的特性。但通常,由于其性能较低,推荐使用`ArrayDeque`。使用`Stack`类的示例如下: ```java ...
用Java实现栈的所有操作,并用栈实现几个常见算法题
以上就是Java实现栈和队列面试题的主要内容。理解和熟练掌握这些知识点对于Java开发者来说至关重要,因为它们涉及到基础数据结构的运用,能够反映候选人在解决实际问题时的逻辑思维和算法能力。在面试中,候选人可能...
Java 数据结构之 Java 实现栈 Java 数据结构实现栈是 Java 编程语言中的一种基础数据结构。栈是一种抽象数据类型,遵循 FILO(First In Last Out,先进后出)原则,即最后入栈的元素最先出栈。栈的实现有多种方式,...
实现弹栈,进栈,判断栈是否为空或满等功能 Java入门的简单程序
使用java实现栈和队列,通过接口实现多态
用Java实现一个栈
Java提供了`java.util.Stack`类来实现栈。它继承自`Vector`类,因此提供了丰富的线程安全的方法,如`push()`, `pop()`, `peek()`等。在这个计算器项目中,我们可以创建一个栈对象来存储数字和运算符。 3. **表达式...
用java实现的栈Stack类,不继承任何集合类,用对象数组实现
### 栈的Java语言实现详解 #### 一、栈的基本概念 栈是一种特殊的线性表,只允许在表的一端...这些内容不仅有助于理解栈的工作原理,还能帮助读者掌握栈的Java实现技巧,为进一步学习算法和数据结构打下坚实的基础。
在标签中提到了“java 栈”,这暗示了项目的核心部分是如何使用Java实现栈数据结构。在Java中,除了ArrayList,还可以使用LinkedList等数据结构来实现栈。不过,ArrayList通常在空间效率和快速访问上更有优势,因此...
java数字栈和符号栈模拟计算器(中缀表达式) “计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说...
3. 如何使用Java实现SIP客户端和服务器端。 4. Eclipse开发环境的使用和调试技巧。 5. Ant构建工具的使用。 6. 日志记录和调试技术。 7. 依赖管理和库的引入。 此外,还可以深入了解网络编程、多线程处理、异常处理...
java实现的顺序栈,部分代码:public class OrderStack { int top=-1; String[] stack; public OrderStack(int initcap)throws Exception{ if(initcap){
栈可以使用数组或链表实现,本文使用 ArrayList 实现栈结构。 栈结构的定义包括以下几个部分: * 入栈(push):将元素添加到栈顶 * 出栈(pop):将栈顶元素取出 * 栈是否为空(isEmpty):判断栈是否为空 * 栈...
Java实现顺序栈是一种常见的数据结构操作,主要用于存储和管理元素序列。栈是一种后进先出(LIFO,Last In First Out)的数据结构,通常用于执行回溯、递归等算法。在Java中,我们可以使用数组或ArrayList来实现顺序...
下面将详细解释这些概念及其Java实现。 **线性表** 是一种基本的数据结构,它是由n(n>=0)个相同类型元素构成的有限序列。线性表中的元素具有顺序关系,即每个元素都有一个前驱和后继,除了第一个元素没有前驱,...
java api 中也有stack,这个是根据stack的特性编写出来的; 此程序在功能上和java提供的功能是一样的,只是实现的方法不一样;