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

2021-06-06 04:07:04 字數 735 閱讀 6636

佇列:c語言實現

#include #include #define queueisempty(arg) (arg->size <= 0)

#define queueisfull(arg) (arg->size == arg->capacity)

/*判斷是否為空或為滿。巨集定義,函式調銷太大。

佇列使用size和capacity顯式的判斷是否空或滿。*/

typedef struct queue_tag

*queue ;

queue creatqueue(int numvertex)

q->array = calloc(numvertex, sizeof(int)) ;

if(!q->array)

//初始化佇列

q->size = 0 ;

q->rear = 0 ;

q->front= 1 ;

q->capacity = numvertex ;

return q ;

}int dequeue(queue q)

else fprintf(stderr, "queue is empty!\n") ;

}void enqueue(int e, queue q)

else fprintf(stderr, "out of space!\n") ;

}void queuedestory(queue q)

}

c語言實現資料結構 佇列

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

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

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

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

佇列 queue 屬於表,使用佇列時插入在一端進行而刪除在另一端進行。佇列的基本操作是enqueue 入隊 它是在表的末端 隊尾 rear 插入乙個元素,還有dequeue 出隊 它是刪除 或返回 在表的開頭 隊頭 front 的元素。如下圖 define minqueuesize 5 最小佇列元素...