鏈佇列的入隊 出隊

2021-07-05 00:01:09 字數 1099 閱讀 4173

// 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...