package stack;
/**
* 栈
* 栈的特征 先进后出,后进先出
* @author 羊头怪
*
*/
public class MyStack {
/**
* 栈的特征 先进后出,后进先出
*/
//栈的底层是数组
private int[] array;
//数组下标
private int top;
/**
* 无参构造 初始化数组
* 默认数组长度是10
*/
public MyStack() {
array = new int[10];
top=-1;
}
/**
* 有参构造初始化数组
*/
public MyStack(int size) {
array = new int[size];
top=-1;
}
/**
* 判断栈中是否有元素
* false有元素 不是空
* true没有元素 是空
*
*/
public boolean isEmpty() {
return top==-1;
}
/**
* 判断栈中元素是否满了
* false 不满
* true 满
*/
public boolean isfull() {
return top==array.length-1;
}
/**
* 清空栈
*/
public void clear() {
top=-1;
}
/**
* 向栈压进数
* 进栈
* @param value
*/
public void push(int value) {
array[++top]=value;
}
/**
* 访问栈顶元素
*/
public int peek() {
return array[top];
}
/**
* 移除元素
* 出栈
* @param index
*/
public int pop() {
return array[top--];
}
public void find(int index) {
}
public void toMyStack() {
System.out.print("["+" ");
for(int i=0;i<=top;i++) {
System.out.print(array[i]+" ");
}
System.out.println("]");
}
}
java数据结构2栈
最新推荐文章于 2024-06-15 16:54:23 发布
本文介绍了一个简单的自定义栈实现,使用Java编程语言并通过数组作为其底层数据结构。文章详细解释了栈的基本操作,如压栈(push)、弹栈(pop)、查看栈顶元素(peek)等,并提供了完整的代码示例。
1448

被折叠的 条评论
为什么被折叠?



