**是在動態陣列的二次封裝,先閱讀體驗更佳: arrayqueue.h
#ifndef c___loopqueue_h
#define c___loopqueue_h
#include
"arrayqueue.h"
#include
template
<
typename t>
class
loopqueue
:public arrayqueue
;template
<
typename t>
loopqueue
::loopqueue()
template
<
typename t>
loopqueue
::loopqueue
(const
int capacity)
template
<
typename t>
int loopqueue
::getsize()
const
template
<
typename t>
int loopqueue
::getcapacity()
const
template
<
typename t>
bool loopqueue
::isempty()
const
template
<
typename t>
loopqueue::~
loopqueue()
template
<
typename t>
void loopqueue
::enqueue
(const t &e)
template
<
typename t>
void loopqueue
::resize
(const
int newcapacity)
data = newdata;
//陣列空間指向新陣列空間
tail =
getsize()
;//更新
front =0;
capacity = newcapacity;
newdata =
nullptr
;//新陣列指向空
delete
newdata;
//刪除新陣列
佇列 迴圈佇列
迴圈佇列是乙個大小確定的特殊佇列,它的特殊體現在迴圈,之前提到的普通佇列,我們是用鍊錶來實現的,在這裡,由於迴圈佇列是乙個長度確定的佇列,所以我們可以拿順序表來實現。迴圈佇列的操作與普通佇列類似,不過不同的地方在於當rear走到capacity 1並且front在0號元素位置的時候,當此時再有元素入...
迴圈佇列 622 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為環形緩衝器。迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是使用...
佇列(迴圈佇列 鏈佇列)
迴圈佇列 cirqueue.h 名稱 迴圈佇列 基於陣列 templateclass cirqueue q size 1 多申請乙個位置,保證隊滿 對空容易判定!cirqueue void enter datatype data 入隊操作 datatype shift 出隊操作 datatype g...