栈和队列

栈:先进先出,类似大盒子

队列:先进后出,类似买票;ps:代码有bug

 1 /** 
 2  * @ClassName: MyStack 
 3  * @Description: 栈 
 4  * @author dongye 
 5  * @date 2016年3月3日 上午9:37:49 
 6  *  
 7  */
 8 public class MyStatck {
 9     //底层实现是数组
10     private long[] arr;
11     private int top;
12     
13     public MyStatck(){
14         arr=new long[10];
15         top=-1;
16     }
17     
18     public MyStatck(int maxSize){
19         arr=new long[maxSize];
20         top=-1;
21     }
22     
23     /**
24      * 
25     * @Description: 添加数据
26     * @author dongye  
27     * @date 2016年3月3日 上午9:41:11 
28      */
29     public void push(int value){
30         top++;
31         arr[top]=value;
32     }
33     
34     /**
35      * 
36     * @Description: 移除数据
37     * @author dongye  
38     * @date 2016年3月3日 上午9:42:45 
39      */
40     public long pop(){
41         return arr[top--];
42         
43     }
44 
45     /**
46      * 
47     * @Description: 查看数据 
48     * @author dongye  
49     * @date 2016年3月3日 上午9:44:13 
50      */
51     public long peek(){
52         return arr[top];
53     }
54     
55     /**
56      * 
57     * @Description: 判断是否为空
58     * @author dongye  
59     * @date 2016年3月3日 上午9:45:35 
60     * @throws
61      */
62     public boolean isEmpty(){
63         return top==-1;
64     }
65     
66     /**
67      * 
68     * @Description: 判断是否满了    
69     * @author dongye  
70     * @date 2016年3月3日 上午9:45:35 
71     * @throws
72      */
73     public boolean isFull(){
74         return top==arr.length-1;
75     }
 1 ** 
 2  * @ClassName: MyQueue 
 3  * @Description: 队列
 4  * @author dongye 
 5  * @date 2016年3月3日 上午10:02:17 
 6  *  
 7  */
 8 public class MyQueue {
 9     //底层使用数组
10     private long[] arr;
11     //有效大小
12     private int elements;
13     //对头
14     private int front;
15     //对尾
16     private int end;
17     
18     public MyQueue(){
19         arr=new long[5];
20         front=0;
21         end=-1;
22         elements=0;
23     }
24     
25     public MyQueue(int maxsize){
26         arr=new long[maxsize];
27         front=0;
28         end=-1;
29         elements=0;
30     }
31     
32     /**
33      * 
34     * @Description: 添加数据
35     * @author dongye  
36     * @date 2016年3月3日 上午10:32:36 
37      */
38     public void insert(long value){
39         if(end==arr.length-1){
40             end=-1;
41         }
42         arr[++end]=value;
43         elements++;
44     }
45     
46     /** 
47      * @Description: 删除
48      * @author dongye  
49      * @date 2016年3月3日 上午10:38:46 
50      */
51     public long remove() {
52         if(front==arr.length){
53             front=0;
54         }
55         elements--;
56         return arr[front++];
57     }
58     
59     /**
60     * @Description: 查看
61     * @author dongye  
62     * @date 2016年3月3日 上午10:43:25 
63      */
64     public long peek(){
65         return arr[front];
66     }
67     
68     /**
69      * 
70     * @Description: 判断是否为空
71     * @author dongye  
72     * @date 2016年3月3日 上午9:45:35 
73      */
74     public boolean isEmpty(){
75         return elements==0;
76     }
77     
78     /**
79      * 
80     * @Description: 判断是否满了    
81     * @author dongye  
82     * @date 2016年3月3日 上午9:45:35 
83      */
84     public boolean isFull(){
85         return elements==arr.length;
86     }
87 
88 }

 

posted @ 2016-03-04 09:44  凌晨五点半  阅读(99)  评论(0编辑  收藏  举报