码迷,mamicode.com
首页 > 编程语言 > 详细

用一维数组模拟堆栈

时间:2015-06-15 00:34:00      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:stack this exception

public class Stack{
 //堆栈可以存储多种类型的数据元素
     Object[] elements;
     int index;//指向栈顶元素上方的一个帧。
     public Stack(){
         this(5);
     }
     public Stack(int max){
         elements=new Object[max];
     }
     public void push()throws StackOperationStack//压栈
     { 
             if(index==elements.length){
                 throw New StackOperationStack("栈满!");
             }
         elements[index++];
         
     }
     public Object pop()throws StackOperationStack//弹栈
     {      if(index==0){
                 throw New StackOperationStack("栈空!");
             }else{
             return elements[--index];
         }
     }
}

异常机制:(压栈栈满,弹栈栈空)

//定义异常类
public class StackOperationStack{
    public StackOperationStack();
    public StackOperationStack(String msg){
        super(msg);
    }
}
//定义测试类
public class TestStack{
    public static void main(String [] agrs)
    {
        Stack s=new Stack();
        Person p1=new Person();
        Person p2=new Person();
        Person p3=new Person();
        Animal a1=new Animal();
        Animal a2=new Animal();
    }
    try {
        s.push(p1);
        s.push(p2);
        s.push(p3);
        s.push(a1);
        s.push(a2);
    }catch(StackOperationException e){
        System.out.println("栈已满");
    }
        try {
        s.pop();
        s.pop();
        s.pop();
        s.pop();
        s.pop();
    }catch(StackOperationException e){
        System.out.println("栈已空");
    }
}
class person{}
class Animal{}


本文出自 “gaogaozi” 博客,请务必保留此出处http://hangtiangazi.blog.51cto.com/8584103/1661782

用一维数组模拟堆栈

标签:stack this exception

原文地址:http://hangtiangazi.blog.51cto.com/8584103/1661782

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!