首页 > 其他 > 详细

数据结构笔记#队列

时间:2015-10-08 17:51:19      阅读:126      评论:0      收藏:0      [点我收藏+]

写得太偷懒,太低端。

以后的代码尽量用c++,等稍微学习下python那也是极好的。

queue.h

 1 #ifndef QUEUE_QUEUE_H
 2 #define QUEUE_QUEUE_H
 3 
 4 #include <stddef.h>
 5 
 6 typedef int DataType;
 7 
 8 typedef struct _Node {
 9     DataType data;
10     struct _Node *next;
11 
12     _Node(DataType d) {
13         data = d;
14         next = NULL;
15     }
16     _Node() {
17         data = 0;
18         next = NULL;
19     }
20 }NODE;
21 
22 
23 //With Head Node
24 class QUEUE {
25 public:
26     QUEUE();
27     ~QUEUE();
28 
29     void Push(DataType);
30     //return 1 == OK
31     //return 0 == ERROR
32     int Pop(DataType*);
33 
34 private:
35     NODE *head;
36     NODE *tail;
37 };
38 
39 
40 #endif //QUEUE_QUEUE_H

queue.cpp

 1 #include "queue.h"
 2 
 3 QUEUE::QUEUE() {
 4     head = new NODE(0);
 5     tail = head;
 6 }
 7 
 8 void QUEUE::Push(DataType data) {
 9     NODE *tmp = new NODE(data);
10     tail->next = tmp;
11     tail = tmp;
12     tmp = NULL;
13 }
14 
15 int QUEUE::Pop(DataType *data) {
16     if (head->next != NULL) {
17         NODE *tmp = head->next;
18         *data = tmp->data;
19         head->next = tmp->next;
20         delete tmp;
21         tmp = NULL;
22         return 1;
23     } else {
24         return 0;
25     }
26 }
27 
28 QUEUE::~QUEUE() {
29     NODE *tmp = head;
30     while (tmp != NULL) {
31         delete tmp;
32         head = head->next;
33         tmp = head;
34     }
35     tmp = NULL;
36     head = NULL;
37     tail = NULL;
38 }

 

数据结构笔记#队列

原文:http://www.cnblogs.com/makejeffer/p/4861603.html

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