佇列的鍊錶實現

2022-04-28 22:33:21 字數 1920 閱讀 8145

1/*2

佇列的鍊錶實現。

3佇列是一種在表頭刪除,表尾插入的表。

4佇列的出隊和入隊操作要更新隊尾和隊頭。

5對於帶頭結點的佇列,當隊尾指向頭結點,隊頭指向null則隊列為空對。 6*/

78/*介面標頭檔案

*/9 typedef int

elementtype;

10#ifndef _queue_h

11#define _queue_h

12 #include 13

14struct

node;

15 typedef struct node *ptrtonode;

16typedef ptrtonode queue;

17typedef ptrtonode position;

1819

/*操作集

*/20 queue createqueue( void

);21

void

makeempty( queue q );

22bool

isempty( queue q );

23void

enqueue( elementtype x, queue q );

24void

dequeue( queue q );

25elementtype front( queue q );

26elementtype frontanddequeue( queue q );

27void

disposequeue( queue q );

28void

printfqueue( queue q );

2930

#endif

3132

33/*

介面實現

*/34 #include 35 #include 36 #include "

queue.h"37

38/*

特定結構體定義

*/39

struct

node40;

4647

/*建立佇列

*/48 queue createqueue( void)49

58 q->next =null;

59/*

初始化為空隊

*/60

makeempty( q );

6162

return

q; 63}64

65/*

使隊列為空

*/66

void

makeempty( queue q )

6775

76bool

isempty( queue q )

7780

81void

disposequeue( queue q )

8295}96

97void

enqueue( elementtype x, queue q )

98107

else

108120

}121

122void

dequeue( queue q )

123129

else

130139

}140

141elementtype front( queue q )

142148

else

149return q->front->element;

150}

151152

elementtype frontanddequeue( queue q )

153161

else

162173

}174

175void

printfqueue( queue q )

176

佇列的鍊錶實現!

include include typedef char elemtype typedef struct qnode qnode typedef struct liqueue 初始化佇列 void initqueue liqueue q 判斷是否為空 int queueempty liqueue q...

佇列的鍊錶實現

include include using namespace std const int maxsize 10 佇列的容量 單個結點結構體 typedef struct node pnode 佇列結構體 typedef struct queue pqueue 函式實現 建立空佇列 pqueue c...

佇列的鍊錶實現

include include includeconst int max 10 typedef struct node protonode protonode 相當與struct node struct node typedef protonode position position 實際上和 pr...