栈是限制在表尾进行插入和删除操作的线性表。栈的主要特点是“后进先出”。允许插入、删除的这一端称为栈顶(Top),另一端称为栈底(Bottom)。 
 
栈的运算包含
  1.进栈
  2.出栈
  3.读栈顶元素
  4.  判栈空
  5.  判栈满
  6.  显示栈元素
 
下面用Java实现一个简单的栈:
 异步代码,更快。
| 
 package zieckey.datastructure.study.stack; 
             
            /** 
             * Demonstrates stacks 
             *  
             * @author 
             */ 
            public class StackX 
            { 
                private int            maxSize;    // size of stack array 
                private double[]    stackArray; 
                private int            top;        // top of stack 
             
             
                public StackX( int maxSize ) 
                { 
                    this.maxSize = maxSize;// 设置数组大小 
                    stackArray = new double[maxSize];// 创建数组 
                    top = -1;// 还没有任何元素 
                } 
             
                public void push( double j ) 
                {// 入栈 
                    if ( isFull( ) ) 
                    { 
                        System.out.println( "Cannot insert item " + j + "! The stack is full." ); 
                    } else 
                    { 
                        top++ ; 
                        stackArray[top] = j; 
                    } 
                } 
             
                public double pop() 
                {// 出栈 
             
                    if ( isEmpty( ) ) 
                    { 
                        System.out.println( "The stack is empty." ); 
                        return 0.0; 
                    } else 
                    { 
                        return stackArray[top-- ]; 
                    } 
                } 
             
                public double peek() 
                {// 返回栈顶元素 
                    return stackArray[top]; 
                } 
             
                public boolean isEmpty() 
                { 
                    return ( -1 == top ); 
                } 
             
                public boolean isFull() 
                { 
                    return ( maxSize - 1 == top ); 
                } 
            } 
             
             |