自流井移动网站建设,怎样用网站做淘宝推广,九江的网站建设公司,谷歌推广运营用数组模拟栈数组是固定大小的#xff0c;不能改变长度#xff0c;要想达到数组扩容的目的#xff0c;就只能把当前数组复制到一个更长长度的数组中#xff1b;使用Arrays.copyOf()方法源码如下#xff1a;public static short[] copyOf(short[] original, int newLength)…用数组模拟栈数组是固定大小的不能改变长度要想达到数组扩容的目的就只能把当前数组复制到一个更长长度的数组中使用Arrays.copyOf()方法源码如下public static short[] copyOf(short[] original, int newLength) {short[] copy new short[newLength];System.arraycopy(original, 0, copy, 0,Math.min(original.length, newLength));return copy;}可以看出内部调用了System.arraycopy()方法。下面是用数组实现一个栈的代码class MinStack {/** initialize your data structure here. */int[] stack ;//数组int defaultSize 2;//默认大小int realNumber;//存在的数量public MinStack() {this.stack new int[defaultSize];}public void push(int x) {if(realNumber stack.length){stack Arrays.copyOf(stack,stack.lengthdefaultSize);}stack[realNumber] x;}public void pop() {if(realNumber 0){realNumber--;}}public int top() {return stack[realNumber-1];}public int getMin() {int min stack[0];for(int i 0;i realNumber;i){if(min stack[i]){min stack[i];}}return min;}}