首页 > 其他 > 详细

Queue class

时间:2014-04-18 15:18:45      阅读:564      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 enum Error_code {
 2     succeed,
 3     overflow,
 4     underflow
 5 };
 6 
 7 typedef int Queue_entry; // Now queue element is int
 8 
 9 const int max_queue = 10;
10 
11 class Queue {
12 public:
13     Queue();
14     ~Queue();
15 
16     bool empty() const;
17     Error_code append(const Queue_entry & item);
18     Error_code serve();
19     Error_code retrieve(Queue_entry & item) const;
20     int size() const;
21 
22 private:
23     int count;
24     int front, rear;
25     Queue_entry entry[max_queue];
26 };
27 
28 Queue::Queue() {
29     count = 0;
30     front = 0;
31     rear = max_queue - 1;
32 }
33 
34 Queue::~Queue() {
35 
36 }
37 
38 bool Queue::empty() const {
39     if (count == 0)
40         return true;
41     return false;
42 }
43 
44 Error_code Queue::append(const Queue_entry & item) {
45     if (count == max_queue)
46         return overflow;
47     count++;
48     rear = ((rear+1)==max_queue) ? 0 : (rear+1);
49     entry[rear] = item;
50     return succeed;
51 }
52 
53 Error_code Queue::serve() {
54     if (count == 0)
55         return underflow;
56     count--;
57     front = ((front+1) == max_queue) ? 0 : (front+1);
58     return succeed;
59 }
60 
61 Error_code Queue::retrieve(Queue_entry & item) const {
62     if (count <= 0)
63         return underflow;
64     item = entry[front];
65     return succeed;
66 }
67 
68 int Queue::size() const{
69     return count;
70 }
bubuko.com,布布扣

 

Queue class,布布扣,bubuko.com

Queue class

原文:http://www.cnblogs.com/aoun/p/3672958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!