本文共 1599 字,大约阅读时间需要 5 分钟。
2021.03.21
package per.zhangyh.algorithm;/** *@author:zhangyonghui; *@date: 2021/3/21; 20:28 *@Describe: */public class MyStackTest { public static void main(String[] args) { MyStack myStack = new MyStack(); //压入元素: myStack.push(2); myStack.push(3); myStack.push(5); myStack.push(55); myStack.push(10); myStack.push(100); myStack.push(1770); //弹出元素: myStack.pop(); myStack.pop(); myStack.pop(); //查看栈顶元素: System.out.println("栈顶元素: " + myStack.peek()); }}//数组实现栈;压入元素,弹出元素;class MyStack { //先初始化一个数组: int[] arrays = new int[0]; /** * 压入一个元素: */ public int[] push(int a) { //复制数组,长度加一: int[] tempArrays = new int[arrays.length + 1]; //复制数据: for (int i = 0; i < arrays.length; i++) { tempArrays[i] = arrays[i]; } //压入元素: tempArrays[arrays.length] = a; //替换原数组: arrays = tempArrays; //返回数据: return arrays; } /** * 弹出一个元素: */ public int pop() { //避免空栈弹出数据,导致出现栈下溢异常: if (arrays.length == 0) { throw new RuntimeException("栈已经空了,不能再弹出数据!"); } //复制数组,长度减一: int[] tempArrays = new int[arrays.length - 1]; //复制数据: for (int i = 0; i < arrays.length - 1; i++) { tempArrays[i] = arrays[i]; } //替换原数组: arrays = tempArrays; //返回弹出的元素: return arrays[arrays.length - 1]; } /** * 查看栈顶元素: */ public int peek() { return arrays[arrays.length - 1]; }}
转载地址:http://pytzi.baihongyu.com/