圖示:鍊錶佇列結構模型
對此可做 如下宣告
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...