package Stack;
import List.SqList;
import com.sun.org.apache.xpath.internal.objects.XObject;
public class SqStack implements StackIntf{
int[] elem ;
int top;
public SqStack(int maxsize){
elem = new int[maxsize];
top = 0 ;
}
public void push(Object x){
elem[top] = (int) x;
top++;
}// 向栈顶添加元素
public Object pop(){
return elem[--top];
}// 删除并返回栈顶元素
public int size(){
return top;
}
public void clear(){
while(top > 0){
top--;
}
}
public boolean isEmpty(){
return top ==0;
}
public Object peek(){
return (int)elem[top-1];
}
public void display() {
if(top == 0){
System.out.println("栈为空");
}
for(int i = top - 1 ; i >= 0 ; i--){
System.out.print(elem[i]+" ");
}
}
public static void main(String[] args) {
SqStack sqStack = new SqStack(6);
sqStack.push(5);
sqStack.push(1);
sqStack.push(3);
sqStack.push(4);
sqStack.push(2);
sqStack.push(6);
System.out.println("栈从顶至下依次为:");
sqStack.display();
System.out.println(" ");
System.out.println("栈中有"+sqStack.size()+"个元素");
System.out.println("删除的栈顶元素为:"+sqStack.pop());
System.out.println("删除的栈顶元素为:"+sqStack.pop());
System.out.println("栈从顶至下依次为:");
sqStack.display();
System.out.println(" ");
System.out.println("栈顶元素为:"+sqStack.peek());
sqStack.display();
System.out.println(" ");
System.out.println("清空栈。。。");
sqStack.clear();
System.out.println("栈从顶至下依次为:");
sqStack.display();
}
}
运行结果:
栈从顶至下依次为:
6 2 4 3 1 5
栈中有6个元素
删除的栈顶元素为:6
删除的栈顶元素为:2
栈从顶至下依次为:
4 3 1 5
栈顶元素为:4
4 3 1 5
清空栈。。。
栈从顶至下依次为:
栈为空