读书人

Java兑现 栈

发布时间: 2012-12-26 14:39:29 作者: rapoo

Java实现 栈

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()+",");}}}

读书人网 >编程

热点推荐