队列

/*  *队列:几乎和栈的代码差不多,理解至上!!! 一定补上  */

//  ----------------顺序队列-------------------

//  ----------------链队-------------------

//  ----------------双端队列-------------------

queue.cpp

 1 //顺序队列
2 const int MaxSize=10;
3 typedef struct
4 {
5 int data[MaxSize];
6 int front,rear;
7 }SqQueue;
8
9 void InitQueue(SqQueue* &q,int a[],int n);
10 void InsertNode(SqQueue &q,int e);
11 void DeleteNode(SqQueue &q,int &e);
12 void GetFront(SqQueue &q,int &e);
13 void IsEmpty(SqQueue q);
14
15 //链队
16 typedef struct
17 {
18 int data;
19 int *next;
20 }QNode;
21
22 typedef struct
23 {
24 QNode *front;
25 QNode *rear;
26 }LQueue;
27
28 void InitLQueue(LQueue* &q,int a[],int n);
29 void InsertLNode(LQueue &q,int e);
30 void DeleteLNode(LQueue &q,int &e);
31 void GetLFront(LQueue &q,int &e);
32 void IsLEmpty(LQueue q);
33
34
35 //双端队列:两端都可进可出的队列。
36 //受限的双端队列:前端和后端功能受限的双端队列,有可能出现两个相邻的栈。

 

posted @ 2011-11-02 12:42  KISS's blog  阅读(159)  评论(0编辑  收藏  举报