// test_demo.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#define queuesize 100 /*假定預分配的佇列空間最多為100個元素*/
typedef char datatype ; /*假定佇列元素的資料型別為字元*/
typedef struct nodequeuenode;
typedef structlinkqueue;
/* 置佇列空*/
void initial(linkqueue *q)
/*將順序佇列置空*/
/*判佇列空*/
int isempty(linkqueue *q)
/*進佇列*/
void push(linkqueue *q,datatype x)
}/*出佇列*/
datatype pop(linkqueue *q)
p=q->front; /*指向對頭結點*/
x=p->data; /*儲存對頭結點的資料*/
q->front=p->next; /*將對頭結點從鏈上摘下*/
if(q->rear==p) /*原隊中只有乙個結點,刪去後佇列變空,此時隊頭指標已為空*/
q->rear=null;
free(p); /*釋放被刪隊頭結點*/
return x; /*返回原隊頭資料*/
}/* 取佇列頂元素*/
datatype front(linkqueue *q)
printf("q->front->data:%c \n",q->front->data);//測試 若資料不為基本型別,則用其他方式顯示
return q->front->data;
}int _tmain(int argc, _tchar* argv)
以上**為 資料結構演算法實現(嚴蔚敏版配套實現程式)
鏈佇列 入隊出隊
include include typedef struct lnode int data struct lnode next linklist typedef struct linklist front linklist rear linkqueue int inqueue linkqueue l...
鏈佇列的儲存和入隊出隊操作
今天看圖的廣度優先遍歷的時候,發現用到了佇列,補一下鏈佇列的知識,參考 大話資料結構 的p118 120,自己寫了乙個簡單的測試例子便於理解。理解起來並不難,用的是單鏈表結構。front指向鍊錶的頭結點 是虛結點,它的next指向第乙個節點 rear指向鍊錶的尾節點。下面舉個簡單的例子,實現鏈佇列的...
佇列的入隊 出隊操作
程式設計實現佇列的入隊 出隊操作 先進先出 include using namespace std node表示佇列中每個節點元素 typedef struct node node queue表示佇列 typedef struct queue queue 建立空佇列 queue createqueu...