佇列鍊錶實現

2022-04-28 19:12:09 字數 1877 閱讀 3195

圖示:鍊錶佇列結構模型

對此可做 如下宣告

typedef struct qnode

qnode,*queneptr;

typedef struct

linkquene;

圖示:空佇列情況以及往空佇列插入元素

圖示:佇列非空時的插入情況

/* 插入元素e到隊尾 */

status enqueue(linkqueue *q, qelemtype e)

圖示:將佇列元素從隊頭彈出

圖示:只有乙個元素的彈出情況

/* 從隊頭彈出佇列元素 */

status dequeue(linkqueue *q, qelemtype *e)

#include #include #define ok 1

#define error 0

#define true 1

#define false 0

typedef int status;

typedef int qelemtype;

#define stack_init_size 100

#define stack_increment 10

typedef struct qnode

qnode,*queueptr;

typedef struct

linkqueue;

/*構造乙個空佇列 q */

status initqueue(linkqueue *q)

/* 插入元素e到隊尾 */

status enqueue(linkqueue *q, qelemtype e)

/* 從隊頭彈出佇列元素 */

status dequeue(linkqueue *q, qelemtype *e)

/* 銷毀佇列 */

status destroyqueue(linkqueue *q)

q->len = 0;

return ok;

}/* 檢測佇列是否為空 */

status queueempty(linkqueue *q)

/* 獲取隊頭元素 */

status gethead(linkqueue *q, qelemtype *e)

/* 獲取佇列長度 */

int queuelength(linkqueue *q)

/* 清空佇列元素 */

status clearqueue(linkqueue *q)

q->front->next = null; /* 釋放完之後要讓頭結點指標指向空 */

q->rear = q->front; /* 尾指標同指向頭結點 */

q->len = 0;

return ok;

}/* 從隊頭到隊尾列印佇列 */

void printqueue(linkqueue * q)

printf("\n");

}int main()

佇列 鍊錶實現

1 rlc分割.cpp 定義控制台應用程式的入口點。2 3 4 include stdafx.h 5 include6 7 typedef char elemtype 8 9 typedef struct qnode qnode queueptr 13 14 typedef structlinkqu...

佇列(鍊錶實現)

鍊錶佇列 front 為隊頭指標 煉表頭節點 rear 為隊尾指標 include includetypedef struct list tlist t 要改變乙個變數的值,需要傳入變數的位址作引數 要改變乙個指標的值,需要傳入該指標的位址作引數 即指標的指標 void insertqueue li...

佇列(鍊錶實現)

1.思路 定義結構體node表示煉表裡的節點,結構體linklist表示鍊錶,選用兩個首尾指標進行基本操作。2.include using namespace std struct node struct linklist void create linklist list node tmp nod...