queue經常使用操作
銷毀佇列
清空佇列
進佇列出佇列
獲取隊頭元素
獲取佇列的長度
佇列也是一種特殊的線性表;能夠用線性表順序儲存來模擬佇列。
主要**:
// seqqueue.h// 順序儲存佇列api宣告
#ifndef _my_seqqueue_h_
#define _my_seqqueue_h_
typedef void seqqueue;
// 建立佇列
seqqueue* seqqueue_create(int capacity);
// 銷毀佇列
void seqqueue_destroy(seqqueue* queue);
// 清空佇列
void seqqueue_clear(seqqueue* queue);
// 入佇列
// 出佇列
void* seqqueue_retrieve(seqqueue* queue);
// 獲取對頭元素
void* seqqueue_header(seqqueue* queue);
// 獲取佇列長度
int seqqueue_length(seqqueue* queue);
// 獲取佇列容量
int seqqueue_capacity(seqqueue* queue);
#endif //_my_seqqueue_h_
// seqqueue.cpp// 順序儲存佇列api實現
// 呼叫了順序儲存表的api
#include #include "seqqueue.h"
#include "seqlist.h"
// 建立佇列相當於建立乙個鍊錶
seqqueue* seqqueue_create(int capacity)
// 銷毀佇列相當於銷毀鍊錶
void seqqueue_destroy(seqqueue* queue)
// 清空佇列相當於清空鍊錶
void seqqueue_clear(seqqueue* queue)
// 入佇列相當於在鍊錶尾部插入元素
// 出佇列相當於刪除鍊錶0號位置的元素
void* seqqueue_retrieve(seqqueue* queue)
// 獲取對頭元素相當於獲取鍊錶0號位置元素
void* seqqueue_header(seqqueue* queue)
// 獲取佇列長度相當於獲取鍊錶長度
int seqqueue_length(seqqueue* queue)
// 獲取佇列容量相當於獲取鍊錶容量
int seqqueue_capacity(seqqueue* queue)
// main.cpp具體project**:github// 順序儲存佇列api的測試程式
#include #include "seqqueue.h"
const int maxn = 10;
void play()
sq = seqqueue_create(20); // 建立佇列
// 入佇列
for (i = 0; i < maxn; ++i)
// 獲取佇列屬性
printf("header: %d\n", *((int *)seqqueue_header(sq)));
printf("length: %d\n", seqqueue_length(sq));
printf("capacity: %d\n", seqqueue_capacity(sq));
// 出佇列
while (seqqueue_length(sq))
seqqueue_destroy(sq);
}int main()
佇列鏈式儲存 設計與實現 API函式
佇列相關基礎內容參我的博文 佇列順序儲存 設計與實現 api函式 佇列也是一種特殊的線性表 可以用線性表鏈式儲存來模擬佇列的鏈式儲存。主要 linkqueue.h 佇列鏈式儲存api宣告 ifndef linkqueue h define linkqueue h typedef void linkq...
佇列 順序儲存 簡單實現
佇列最簡單的表示方法是用陣列.為了實現正確判斷佇列空和佇列滿兩種情況,我們需要2個指標,front 指向第乙個元素的前乙個元素 rear 指向最後乙個元素 在初始情況下,front和rear都等於 1,每入隊乙個元素rear都加1,當rear maxsize 1時,即佇列已滿.每出隊乙個元素,fro...
佇列 順序儲存 簡單實現
佇列最簡單的表示方法是用陣列.為了實現正確判斷佇列空和佇列滿兩種情況,我們需要2個指標,front 指向第乙個元素的前乙個元素 rear 指向最後乙個元素 在初始情況下,front和rear都等於 1,每入隊乙個元素rear都加1,當rear maxsize 1時,即佇列已滿.每出隊乙個元素,fro...