Created
October 26, 2022 13:20
-
-
Save suziewong/2e6ae852078b4ff176acb7783937021b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 基于数组实现的顺序栈 | |
public class ArrayStack { | |
private String[] items; // 数组 | |
private int count; // 栈中元素个数 | |
private int n; //栈的大小 | |
// 初始化数组,申请一个大小为n的数组空间 | |
public ArrayStack(int n) { | |
this.items = new String[n]; | |
this.n = n; | |
this.count = 0; | |
} | |
// 入栈操作 | |
public boolean push(String item) { | |
// 数组空间不够了,直接返回false,入栈失败。 | |
if (count == n) return false; | |
// 将item放到下标为count的位置,并且count加一 | |
items[count] = item; | |
++count; | |
return true; | |
} | |
// 出栈操作 | |
public String pop() { | |
// 栈为空,则直接返回null | |
if (count == 0) return null; | |
// 返回下标为count-1的数组元素,并且栈中元素个数count减一 | |
String tmp = items[count-1]; | |
--count; | |
return tmp; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment