資料結構 鏈式佇列的實現(C語言)

2021-08-28 15:24:21 字數 1481 閱讀 1241

佇列的鏈式儲存稱為鏈式佇列。鏈式佇列就是乙個特殊的單鏈表,對於這種特殊的單鏈表,它的插入和刪除操作規定在單鏈表的不同端進行。鏈式佇列的隊首隊尾指標分別用frontrear表示。

鏈式佇列要掌握以下基本操作:

1、建立乙個空的鏈式佇列

2、判斷鏈式佇列是否為空

3、輸出鏈式佇列各個結點的值

4、取得鏈式佇列的隊首的結點值

5、對鏈式佇列中插入乙個值為x的結點

6、刪除鏈式佇列中隊首節點

#ifndef lnkqueue_h_included

#define lnkqueue_h_included

#include #include typedef struct link_node

n;typedef struct

queue;

/*建立乙個空的鏈式佇列*/

queue *init()

/*判斷鏈式佇列是否為空*/

int isempty(queue *qu)

/*取得鏈式佇列隊首結點值*/

int read (queue *qu)

return (qu->front->info);

}/*輸出鏈式佇列各結點的值*/

void display (queue *qu)

else }

}/*向鏈式佇列中插入乙個值為x的結點(隊尾插入)*/

queue *insert(queue *qu,int x)

else

return qu;

}/*刪除鏈式佇列中的隊首結點*/

queue *dele(queue *qu)

qu->front=q->next;

free(q);

return qu;

} #endif // lnkqueue_h_included

#include "stdio.h"

#include "lnkqueue.h"

int main ()

if(isempty(qu))

else

display (qu);

printf("\n鏈式佇列的隊首結點值為:%d\n",read (qu));

printf("進行插入操作,請輸入要插入的數:");

scanf("%d",&x);

qu=insert(qu,x);

display(qu);

printf("\n進行刪除操作後:\n");

c語言資料結構實現 鏈式佇列

鏈式佇列由環形鍊錶實現,通過煉表頭和鍊錶尾的操作,完成了隊列入列出列的功能。如圖所示,空佇列時至少需要乙個空節點,表示為佇列頭和佇列尾,相當於哨兵的作用 入列 新增節點插入到佇列尾,並更新 tail 指標 出列 更新 head 位置,釋放原來 head節點,返回現有位置的 data 相關資料結構 s...

C語言實現資料結構 鏈式佇列

define elemtype int typedef struct queuenode qnode typedef struct linkqueue linkqueue void initqueue linkqueue q 因為是鍊錶所以不需要判斷隊滿 void enqueue linkqueue...

資料結構 佇列的鏈式實現

1 佇列的鏈式儲存表示 佇列的鏈式儲存結構簡稱為鏈佇列,它是限制在表頭進行刪除操作和表尾進行插入操作的單鏈表。需要兩類不同的結點 資料元素結點,佇列的隊首指標和隊尾指標的結點 指標結點型別定義 typedef struct link queue linkqueue 2 鏈隊運算及指標變化 鏈隊的操作...