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("]");
}
}