資料結構之 佇列(C語言實現)

2021-07-28 12:00:35 字數 1415 閱讀 4127

佇列(queue)屬於表,使用佇列時插入在一端進行而刪除在另一端進行。

佇列的基本操作是enqueue(入隊),它是在表的末端(隊尾(rear))插入乙個元素,還有dequeue(出隊),它是刪除(或返回)在表的開頭(隊頭(front))的元素。如下圖:

#define minqueuesize 5 //最小佇列元素

typedef int elementtype;

typedef struct queuerecord

queue;

int isempty(queue *q); //判空

int isfull(queue *q); //判滿

queue *createqueue(int maxelements); //建立乙個佇列

void disposequeue(queue *q); //銷毀乙個佇列

void makeempty(queue *q); //構造乙個空佇列

void enqueue(elementtype element,queue *q); //入隊

elementtype front(queue *q); //返回隊首元素但不刪除

void dequeue(queue *q); //刪除隊首元素不返回

elementtype frontanddequeue(queue *q); //出隊,返回並刪除

#endif

#include 

#include

#include "queue.h"

int isempty(queue *q)

int isfull(queue *q)

queue *createqueue(int maxelements)

else

}void disposequeue(queue *q)

}void makeempty(queue *q)

}static

int succ(int value, queue *q)

void enqueue(elementtype element, queue *q)

else

}elementtype front(queue *q)

else

}void dequeue(queue *q)

else

}elementtype frontanddequeue(queue *q)

else

}

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

佇列 c語言實現 include include define queueisempty arg arg size 0 define queueisfull arg arg size arg capacity 判斷是否為空或為滿。巨集定義,函式調銷太大。佇列使用size和capacity顯式的判斷是...

c語言實現資料結構 佇列

佇列是一種常見的資料結構,具有先進先出的特點。其中內部有乙個首節點和尾節點,分別稱為隊首和隊尾。今天便實現一下無頭不迴圈佇列。實現 這時queue.件 包括了queue各種操作函式的宣告和queuenode及queue的結構宣告 pragma once ifndef queue h define q...

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

宣告 我是看了啊哈雷磊老師的 啊哈!演算法 寫的部落格,以後的以及以前的幾篇都是這樣子的 嘻嘻 覺得這本書寫的很有意思,就打算記錄一下,畢竟從圖書館借的書,以後還給學校,這嘛好的內容我就看不到了。當學生真好 當然了,內容有些小區別,不是完全一樣的。好了,我先說情景 自編的哈 小哼和小哈都在上小學5年...