佇列和棧差不多,唯一的區別就是棧式先進後出(filo),佇列是先進先出(fifo),佇列的示意圖如下
其基本操作的**如下
#include#includeusing namespace std;一定要注意linkqueue,queueptr,qnode之間的關係,**中有的地方是結構體的"."(訪問),有的地方是"->"訪問,順序要搞清楚,不然會錯一片的!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();}}
鏈佇列的基本操作
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...