顺序栈

IStack.java

 1 package MyArrayStack;
 2 
 3 public interface IStack {
 4     public void clear();
 5     public boolean isEmpty();
 6     public int length();
 7     public Object peek();
 8     public void push(Object obj);
 9     public Object pop();
10     public void display();
11 }

MyArrayStack.java

 1 package MyArrayStack;
 2 
 3 public class MyArrayStack implements IStack{
 4      private int maxSize;
 5      private Object[] objs;
 6      private int pop;
 7     public MyArrayStack(int maxSize) {
 8         pop =0;
 9         this.maxSize = maxSize;
10         objs=new Object[maxSize];
11     }
12     @Override
13     public void clear() {
14         pop=0;
15         
16     }
17     @Override
18     public boolean isEmpty() {
19         return pop==0;
20     }
21     @Override
22     public int length() {
23         return pop;
24     }
25     @Override
26     public Object peek() {
27         return objs[pop-1];
28     }
29     @Override
30     public void push(Object obj) {
31         objs[pop]=obj;
32         pop++;
33         
34     }
35     @Override
36     public Object pop() {
37         pop--;
38         return objs[pop+1];
39         
40     }
41     @Override
42     public void display() {
43         for(int i=0;i<pop;i++) {
44             System.out.println(objs[i]);
45         }
46         
47     }
48 public static void main(String[] args) {
49     MyArrayStack ar=new MyArrayStack(5);
50     ar.push("hello1");
51     ar.push("hello2");
52     ar.push("hello3");
53     ar.pop();
54     ar.display();
55 }
56     
57 }

 

posted @ 2019-08-05 23:09  codeFlyer  阅读(140)  评论(0)    收藏  举报