佇列的一種實現 迴圈佇列

2022-01-10 16:02:38 字數 1159 閱讀 3199

佇列的一種實現,迴圈佇列,通過使用固定長度陣列及首尾指標實現佇列的入隊、出隊等:

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...