栈的基本介绍
栈是一种只允许在一端进行插入或删除的线性表,也就是说先进后出。栈的操作端通常被称为栈顶,另一端被称为栈底,栈的插入操作称为压栈(push),栈删除操作称为出栈(pop)。压栈是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;出栈则是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
操作代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public class Stack{ int top=-1; long arr[]; public Stack(){ arr=new long[5]; } public Stack(int maxsize){ arr=new long[maxsize]; } public void push(int value){ arr[++top]=value;
} public long pop(){ return arr[top--]; } public long peek(){ return arr[top]; } public boolean IsEmpty(){ return top==-1; } public boolean IsFull(){ return top==arr.length-1; } }
|
编写一个测试类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class TextStack{ public static void main (String[] args) { Stack a=new Stack(); a.push(1); a.push(2); a.push(3); a.push(4); a.push(5); System.out.println(a.IsEmpty()); System.out.println(a.IsFull()); System.out.println(a.pop()); System.out.println(a.peek());
} }
|
运行结果如下:
false true 5 4