1 Star 0 Fork 0

lixinye/algo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
StackBaseArray.java 1.61 KB
一键复制 编辑 原始数据 按行查看 历史
PeiJiaNi 提交于 2019-03-16 17:00 . 顺序栈实现
package Stack;
/**
* 顺序栈(基于数组实现)
* Author: PeiJiaNi
*/
public class StackBaseArray {
private int[] items; // 数组
private int count; // 栈中元素个数
private int length; // 栈空间大小
public StackBaseArray(int capactiy) {
this.items = new int[capactiy];
this.count = 0;
this.length = capactiy;
}
/**
* 入栈操作 时间复杂度O(1)
* @param item 要入栈的元素
* @return 入栈成功则返回true,否则返回false
*/
public boolean push(int item) {
if(count == length) {
System.out.println("当前栈已满,无法进行入栈操作");
return false;
}
items[count] = item;
++count;
return true;
}
/**
* 出栈操作 时间复杂度O(1)
* @return 如果栈内不为空,则返回栈顶元素,否则返回-1
*/
public int pop(){
if(count == 0) {
System.out.println("当前栈已空,无法进行出栈操作");
return -1;
}
// 返回下标为 count-1 的数组元素,并且栈中元素个数count-1
return items[--count];
}
public static void main(String[] args){
StackBaseArray stack = new StackBaseArray(6);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lixinye/algo.git
git@gitee.com:lixinye/algo.git
lixinye
algo
algo
master

搜索帮助