linkqueue.h檔案
#ifndef linkqueue_h
#define linkqueue_h
#include
#include
#include
//定義節點的儲存結構
typedef
struct linkqueuenode
linkqueuenode;
//定義鏈式佇列的儲存結構
typedef
struct linkqueue
linkqueue;
//初始化鏈式佇列
linkqueue *init_linkqueue();
//銷毀佇列
void free_linkqueue(linkqueue *queue);
//判斷佇列是否為空
int isempty_linkqueue(linkqueue *queue);
//入隊
void insert_linkqueue(linkqueue *queue , void *data);
//出隊
void remove_linkqueue(linkqueue *queue);
#endif
linkqueue.c檔案
#include "linkqueue.h"
//初始化鏈式佇列
linkqueue *init_linkqueue()
//銷毀佇列
void free_linkqueue(linkqueue *queue)
if(queue->front == null)
//delnode記錄要刪除的節點
linkqueuenode *delnode = queue->front;
while(delnode != null)
free(queue);
queue = null;
}//判斷佇列是否為空
int isempty_linkqueue(linkqueue *queue)
if(queue->rear == null)
return1;}
//入隊
void insert_linkqueue(linkqueue *queue , void *data)
linkqueuenode *temp = (linkqueuenode *)malloc(sizeof(linkqueuenode));
temp->data = data;
temp->next = null;
//佇列是否為空
if(queue->rear == null)
//佇列不為空
else
}//出隊
void remove_linkqueue(linkqueue *queue)
if(queue->rear == null)
linkqueuenode *delnode = queue->front;
//判斷佇列中是否只有乙個節點
if(queue->front == queue->rear)
else
free(delnode);
delnode = null;
}
main.c檔案
#include "linkqueue.h"
typedef
struct student
student;
int main(void)
; student s2 = ;
student s3 = ;
student s4 = ;
printf("---------------入隊--------------\n\n");
//資料入隊
insert_linkqueue(queue , (void *)&s1);
insert_linkqueue(queue , (void *)&s2);
insert_linkqueue(queue , (void *)&s3);
insert_linkqueue(queue , (void *)&s4);
printf("---------------出隊--------------\n");
while(queue->rear != null)
printf("---------------釋放佇列--------------\n");
//釋放佇列
free_linkqueue(queue);
return
0;}
測試結果: 鏈式佇列的基本操作
佇列 queue 也是運算受限的線性表。是一種先進先出 first in first out 簡稱fifo 的線性表。只允許在表的一端front進行插入,而在另一端rear進行刪除。隊首 front 允許進行刪除的一端稱為隊首。隊尾 rear 允許進行插入的一端稱為隊尾。例如 排隊購物。作業系統中的...
鏈式佇列的基本操作
操作介紹 1 建立乙個鏈式佇列 2 入隊乙個元素 3 出隊乙個元素 4 獲取隊首元素 5 清空佇列 6 判斷佇列是否為空 7 求佇列長度 8 輸出當前的佇列 9 退出作業系統 include include using namespace std typedef struct qnode 結點結構 ...
鏈式佇列的操作實現
操作實現結果 一 執行後的效果 二 入列 三 出列 四 取隊頭元素 程式是鏈式的佇列的 include include include using namespace std typedef int datatype 定義datatype 為整型 建立鏈式佇列的節點的結構體的定義如下 typedef...