說明1:以下**在vs2017中編譯通過,讀者使用時可以直接將標頭檔案(sqqueue.h),原始檔(sqqueue.c),主檔案(main.c)中的內容直接拷貝過去,即可編譯執行!
**說明2:執行圖示
標頭檔案:sqqueue.h(函式的宣告)
#ifndef _sqqueue_h_
#define _sqqueue_h_
#include
#include
#include
#include
#define error -11111
#define maxqsize 8
#define elemtype int
typedef
struct sqqueue
sqqueue;
/void
initqueue
(sqqueue* q)
;void
enqueue
(sqqueue* q,
int data)
;void
dequeue
(sqqueue* q)
;void
gethead
(sqqueue* q, elemtype* e)
;int
lengthqueue
(sqqueue* q)
;bool emptyqueue
(sqqueue* q)
;void
clearqueue
(sqqueue* q)
;void
destoryqueue
(sqqueue* q)
;void
showqueue
(sqqueue* q)
;#endif
原始檔:sqqueue.c(函式的定義)
#include
"sqqueue.h"
void
initqueue
(sqqueue* q)
void
enqueue
(sqqueue* q,
int data)
void
dequeue
(sqqueue* q)
void
gethead
(sqqueue* q,elemtype* e)
intlengthqueue
(sqqueue* q)
bool emptyqueue
(sqqueue* q)
void
clearqueue
(sqqueue* q)
void
destoryqueue
(sqqueue* q)
void
showqueue
(sqqueue* q)
printf
("<:rear>
}
主檔案:main.c(測試檔案)**
#include
"sqqueue.h"
intmain()
佇列的操作與實現 迴圈佇列
由於順序佇列有 假溢位 的缺點,所以在應用中,運用更多的是迴圈佇列來實現佇列的順序儲存。由於引用傳引數,所以原始檔需要.cpp字尾,即c 檔案儲存。迴圈佇列的判空條件為 q.rear q.fornt 迴圈佇列的判讀隊滿的條件是 q.rear 1 maxsize q.fornt 下面是佇列實現的儲存型...
普通佇列與迴圈佇列的概念與實現
author 田源 date 2021 03 12 19 26 description 普通佇列實現 入隊操作 push x this arr this tail x this tail 1 出隊操作 pop this head 1 佇列是否為空 isempty 佇列是否滿了 isfull 獲取隊首...
迴圈佇列與鏈佇列的簡單實現
為充分利用向量空間,克服 假溢位 現象的方法是 將向量空間想象為乙個首尾相接的圓環,並稱這種向量為迴圈向量。儲存在其中的佇列稱為迴圈佇列 circular queue 通過上圖可以看出,如果使用順序表作為佇列的話,當處於d狀態則不能繼續插入新的隊尾元素,否則會因為陣列越界而導致程式 被破壞。當隊列為...