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实现栈的基本操作
用java写的简单栈的实现,欢迎大家使用
实现弹栈,进栈,判断栈是否为空或满等功能 Java入门的简单程序
主要介绍了Java实现栈和队列的面试题,每个例题代码实现非常详细,每一个方法讲解也很到位,特别适合参加Java面试的朋友阅读。
使用java实现栈和队列,通过接口实现多态
java模拟栈实现回文串的判断,适合新手学习!
用Java实现一个栈
Java用栈实现的计算器,界面用swing实现,不支持括号
主要介绍了java数据结构实现栈,需要的朋友可以参考下
用java实现的栈Stack类,不继承任何集合类,用对象数组实现
java实现顺序栈
java中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.doc
java数字栈和符号栈模拟计算器(中缀表达式) “计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说...
java实现的顺序栈,部分代码:public class OrderStack { int top=-1; String[] stack; public OrderStack(int initcap)throws Exception{ if(initcap){
java api 中也有stack,这个是根据stack的特性编写出来的; 此程序在功能上和java提供的功能是一样的,只是实现的方法不一样;
栈的顺序存储结构及Java实现 //MyStack.java public class MyStack { int MAX_SIZE = 100; int top; String[] stack; public void init(String[] array){ stack = new String[100]; top = -1; for (int i = ...
java实现的栈
java模拟栈实现表达式求值代码.zip可以完全实现多种功能的计算,采用了算符优先关系计算表达式的值。 注意:表达式的形式为 #表达式# 的形式,两个#号只表示表达式的开始和结束,真正的表达式在中间部分。。。。
线性表,单链表,栈的代码实现,java简单实现,内附有代码少许注释
1个班的50份java作业:类设计 实现栈的基本结构 小型计算器