WenJieWangFlyToWorld

导航

6 队列的操作

 1 package com.wwj.cn;
 2 
 3 public interface QueueInter {
 4 
 5     void InitQueue(Queue queue);// 初始化队列
 6 
 7     boolean EnQueue(Queue queue, SElemType e);// 队尾添加数据
 8 
 9     boolean DeQueue(Queue queue, SElemType e);// 队头输出数据
10 
11     boolean isEmpty(Queue queue);// 判断为空
12 
13 }
14 
15 
16 
17 
18 package com.wwj.cn;
19 
20 public class QueueOperation implements QueueInter {
21     private final int MAXSIZE = 10;
22 
23     @Override
24     public void InitQueue(Queue queue) {
25         queue.front = 0;
26         queue.rear = 0;
27 
28     }
29 
30     @Override
31     public boolean EnQueue(Queue queue, SElemType e) {
32         if ((queue.rear + 1) % MAXSIZE == queue.front) {
33             return false;
34         } else {
35             queue.data[queue.rear] = e.getE();
36             queue.rear = (queue.rear + 1) % MAXSIZE;
37             return true;
38         }
39 
40     }
41 
42     @Override
43     public boolean DeQueue(Queue queue, SElemType e) {
44         if (queue.rear == queue.front) {
45             return false;
46         } else {
47             e.setE(queue.data[queue.front]);
48             queue.front = (queue.front + 1) % MAXSIZE;
49             return true;
50         }
51     }
52 
53     @Override
54     public boolean isEmpty(Queue queue) {
55         if (queue.rear == queue.front)
56             return false;
57         return true;
58     }
59 
60 }

 

posted on 2017-05-26 08:13  WenjieWangFlyToWorld  阅读(83)  评论(0编辑  收藏  举报