数据结构之栈
栈原理
FIFO 先进后出
使用数组实现栈
栈实现
package com.yhq.buildspringmvc.stack; /** * 栈 * * @author YuHaiQing * @date 2018-04-23 17:18 */ public class StackX { /** * 栈长度 */ private int maxSize; /** * 栈存储数组 */ private Object[] stackArray; /** * 栈顶 */ private int top; public StackX(int size){ this.maxSize = size; stackArray = new Object[maxSize]; top = -1; } /** * 入栈 */ public void push(Object o){ stackArray[++top] = o; } /** * 出栈 */ public Object pop(){ return stackArray[top--]; } /** * 当前栈顶信息 */ public Object peek(){ return stackArray[top]; } /** * 是否为空 */ public boolean isEmpty(){ return (top == -1); } /** * 是否栈满 */ public boolean full(){ return (top == maxSize - 1); } }
使用栈
package com.yhq.buildspringmvc.stack; /** * 栈 * * @author YuHaiQing * @date 2018-04-23 17:14 */ public class StackDemo { public static void main(String[] args){ StackX stackX = new StackX(10); stackX.push(20); stackX.push(30); stackX.push(40); stackX.push(50); stackX.push(60); stackX.push(70); System.out.println(stackX.pop()); System.out.println(stackX.peek()); } }
输入结果
70 60