栈是限制在表尾进行插入和删除操作的线性表。栈的主要特点是“后进先出”。允许插入、删除的这一端称为栈顶(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 ); } }
|
阅读(1757) | 评论(0) | 转发(0) |