佇列的基本操作(鏈佇列)

2022-03-19 01:07:24 字數 954 閱讀 3635

佇列和棧差不多,唯一的區別就是棧式先進後出(filo),佇列是先進先出(fifo),佇列的示意圖如下

其基本操作的**如下

#include#includeusing namespace std;

struct qnode;

typedef qnode *queueptr;

struct linkqueue;

//初始化佇列

bool initqueue(linkqueue &q)

cout<

p->next=null;

q.rear->next=p;

q.rear=p;

cout

//vlaue儲存被刪的結點資料

value=p->data;

q.front->next=p->next;

if(q.rear==p)

delete p;

cout

value=p->data;

delete p;

cout

length++;

}cout<

cout

}cout初始化佇列 |"判斷佇列是否為空 |"入隊 |"出隊 |"顯示佇列元素 |"銷毀佇列 |"佇列元素個數 |"<>action)

system("pause");

system("cls");

show();}}

一定要注意linkqueue,queueptr,qnode之間的關係,**中有的地方是結構體的"."(訪問),有的地方是"->"訪問,順序要搞清楚,不然會錯一片的!

鏈佇列的基本操作

include include using namespace std typedef int datatype 定義鏈佇列結點結構 typedef struct nodelqueuenode 定義鏈佇列結構 typedef struct lqueue typedef lqueue plqueue ...

鏈佇列的基本操作 C

include using namespace std 定義結點 typedef struct qnode qnode,queueptr 定義鏈隊 struct lqueue 初始化佇列 void init lqueue q 入佇列 void enqueue lqueue q 判斷佇列是否為空 bo...

C語言鏈佇列的基本操作

鏈佇列的初始化及入隊出隊操作,xp3 vc6.0 執行下通過。define overflow 2 define error 0 include typedef int qelemtype typedef struct qnode qnode,queueptr typedef struct linkq...