java怎么拦截某个对象
252
2022-09-19
Java实现使用数组实现一个栈
之前面试被面试官问到的一个问题,当时只是简单地说了一下思路,现在重新实现了一下。
import java.util.Arrays;import java.util.EmptyStackException;/** * 2 * @Author: Mr.Li * 3 * @Date: 2022/6/19 10:38 * 4 */public class ArrayStack { private int[] data = new int[10]; private int size = 0; private int minValue = Integer.MAX_VALUE; /** * 入栈 * @param node */ public void push(int node) { //判断是否需要扩容 if(size+1 > data.length){ data = Arrays.copyOf(data, data.length*2); } data[size++] = node; //元素入栈 if(minValue > node) minValue = node; } /** * 查看栈顶元素 * @return */ public int peek(){ //判断栈空 if(size == 0) throw new EmptyStackException(); return data[size - 1]; //返回栈顶元素 } /** * 出栈 * @return */ public int pop() { //判断栈空 if(isEmpty()) throw new EmptyStackException(); int res = data[size-1]; size--; //删除栈顶元素 return res; //返回栈顶元素 } /** * 判空 * @return */ public boolean isEmpty(){ return size == 0; } /** * 获取栈中最小元素 * @return */ public int min() { if(isEmpty()) throw new EmptyStackException(); return minValue; } **/}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~