先附上代码,详细内容日后在更(嘻嘻)
封装Stack类:
package stack;
public class Stack {
private int size; //栈大小
private int top;//栈顶元素下标
private int[] stackArray; //栈的容器
//构造函数
public Stack(int size){
stackArray=new int[size];
top=-1;
this.size=size;
}
//入栈 栈顶元素下标加1
public void push(int elem){
stackArray[++top]=elem;
}
//出栈 栈顶元素减1
public void pop(){
top=top-1;
}
//查看栈顶元素
public int peek(){
return stackArray[top];
}
//判断是否为空
public boolean isEmpty(){
return (top==-1);
}
//判断是否满了
public boolean isFull(){
return (top==size-1);
}
//查看栈中的元素个数
public int number(){
return top+1;
}
//遍历栈中的元素
public void list(){
for (int i=0;i<=top;i++){
System.out.println(stackArray[i]);
}
}
}
测试类:
package stack;
public class TestStack {
public static void main(String[] args) {
Stack stack=new Stack(10);
stack.push(1);
stack.push(4);
stack.push(22);
boolean is = stack.isEmpty();
System.out.println("是否为空?"+is);
int peek1 = stack.peek();
System.out.println("查看栈顶元素:"+peek1);
int number = stack.number();
System.out.println("查看栈中元素个数:"+number);
stack.pop();
System.out.println("出栈了-------");
int peek2 = stack.peek();
System.out.println("查看栈顶元素:"+peek2);
int number1 = stack.number();
System.out.println("查看栈中元素个数:"+number1);
//打印出栈中所有元素
stack.list();
}
}
测试结果:
是否为空?false
查看栈顶元素:22
查看栈中元素个数:3
出栈了-------
查看栈顶元素:4
查看栈中元素个数:2
1
4