佇列也是一種特殊的線性表,只允許在一端進行插入操作,在另一端進行刪除操作。允許插入的一段為對尾,允許刪除的一端為隊頭。本次記錄的是佇列的鏈式儲存結構以及實現。該儲存結構有兩個指標,乙個指向頭節點,稱為頭指標(front);乙個指向隊尾,稱為尾指標(rear)。當front==rear時,表示空佇列。當需要在佇列中插入元素時,需要將隊尾結點指向新插入的結點,然後將尾指標指向新插入的結點。當要在佇列中進行刪除操作時,只需讓頭指標指向隊頭結點的下乙個結點即可。實現**如下:
#include "iostream"
using
namespace
std;
#define ok 1
#define overflow -1
#define error 0
typedef
int elemtype;
typedef
int status;
typedef
struct qnode
qnode,*queueptr;
typedef
struct
linkqueue;
//佇列鏈式表示
//佇列初始化
status initqueue(linkqueue &q)
//刪除元素
status deletequeue(linkqueue &q, elemtype &e)
//插入元素到佇列中
status insertqueue(linkqueue &q, elemtype e)
//遍歷佇列中的元素
status visitqueue(linkqueue q)
queueptr p;
p = q.front->next;//p指向隊頭結點
while (p)//p不為空時
cout
<< endl;
return ok;
}int main()
資料結構 佇列 順序儲存結構佇列 鏈式儲存結構佇列
佇列是一種只允許在一端進行插入操作,而在另外一端進行刪除操作的線性表,特徵是先進先出,包括 順序儲存結 構佇列 鏈式儲存結構佇列。重點說明 迴圈佇列和鏈隊。在佇列中front為隊頭指標 rear為隊尾指標 佇列 佇列空的條件 rear front 佇列滿的條件 rear 1 queuesize fr...
資料結構 佇列(鏈式儲存)
資料結構和演算法 摘要 前一篇部落格主要討論迴圈佇列,但是迴圈佇列都是事先申請好空間,使用期間是不能釋放的。但是鏈佇列,每次都可以進行申請和釋放結點。再無法預估佇列長度的時候,我們可以考慮用鏈佇列。1 設計佇列資料結構 結點結構 typedef struct queue node queue nod...
資料結構 佇列的鏈式儲存
佇列的順序儲存 佇列的鏈式儲存 佇列的應用 列印楊輝三角 include include typedef struct nodenode,nodep typedef struct baglinklist linklistp void initialquene linklistp q intpushq...