資料結構 佇列的鏈式儲存結構以及實現

2021-07-24 04:36:38 字數 997 閱讀 3662

佇列也是一種特殊的線性表,只允許在一端進行插入操作,在另一端進行刪除操作。允許插入的一段為對尾,允許刪除的一端為隊頭。本次記錄的是佇列的鏈式儲存結構以及實現。該儲存結構有兩個指標,乙個指向頭節點,稱為頭指標(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...