佇列的一種實現,迴圈佇列,通過使用固定長度陣列及首尾指標實現佇列的入隊、出隊等:
class circularqueue/*** 元素入隊,成功則返回true,否則false**
@param
value
* @return
*/public
boolean
put(t value)
if (isempty() == true)
tail = (tail + 1) % size; //
迴圈佇列,隊尾迴圈移動,所以使用取餘的方式移動隊尾
data[tail] = value; //
將入隊元素放入佇列
return
true
; }
/*** 出隊**
@return
*/public
t remove()
if (head == tail)
result =(t) data[head];
data[head] = null
; head = (head + 1) %size;
return
result;
}/*** 獲取隊首元素**
@return
*/public
t head()
return
(t) data[head];
}/*** 獲取隊尾元素**
@return
*/public
t tail()
return
(t) data[tail];
}/**對空判斷**
@return
*/public
boolean
isempty()
/**對滿判斷**
@return
*/public
boolean
isfull()
public
string tostring()
}return
str.tostring();
}public
static
void
main(string args)
}
迴圈佇列一種實現
queue實現方式有兩種 陣列和鍊錶,本文屬於陣列實現,為了防止佇列出現 明明還有儲存空間,但是卻提示佇列已滿 的情況,故使用迴圈佇列 include include define max size 5 typedef struct qnode squeue,squeueptr void init ...
佇列 迴圈佇列的實現
為了可以重新利用佇列底層陣列中已刪除元素所佔的空間,消除可能出現的 假滿 現象,將順序佇列改進為迴圈佇列。迴圈佇列是首尾相連的佇列 當front rear變數達到底層陣列的capacity 1之後,再向前以為就變成0.入隊 1 判斷佇列是否已滿,已滿丟擲越界異常 2 不滿的話把元素查到隊尾,並且re...
順式佇列(迴圈佇列)8種操作的實現
操作 時間複雜度 t n 空間複雜度 s n 求長度o 1 o 1 判斷是否為空 o 1 o 1 得到隊首元素 o 1 o 1 插入元素 o 1 o 1 刪除元素 o 1 o 1 清空佇列 o 1 o 1 判斷是否已滿 o 1 o 1 資料結構分析與學習專欄 作 者 高祥 完成日期 2015 年 4...