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 阅读(85) 评论(0) 编辑 收藏 举报