手動實現迴圈佇列

2021-10-12 07:10:32 字數 572 閱讀 2534

/**

* 思路:

* 核心思路:給陣列預留乙個位置不存放資料。防止隊空和隊滿的判定條件一樣

* * 陣列實現迴圈佇列

* 入隊:

* 隊滿條件:(head + 1) % arr.length==tail

* 沒有滿的時候入隊,並且tail後移:tail=(tail+1)%arr.length

* 出隊:

* 隊空條件:head==tail

* head出隊,後移head:head=(head+1)%arr.length;

*/public

class

circularqueue

string[

] arr;

int head=

0,tail=0;

public

circularqueue

(int length)

public

boolean

offer

(string s)

public string poll()

}

手動設計實現迴圈佇列

迴圈佇列相對於佇列特點在於出隊時隊內元素不用依次移位,多維護了兩個變數front和tail,front指向隊首而tail指向隊尾元素。現在一起來實現一下迴圈佇列吧!迴圈佇列的基本操作有 public class loopqueue public loopqueue 入隊操作 public void ...

手動實現鏈式佇列

public class linkqueue 對頭 private entryfort 隊尾 private entryrear 佇列的長度 private int count public linkqueue 入隊操作採用尾插法 param val public void offer t val ...

實現迴圈佇列

利用陣列實現迴圈佇列,head tail並不能判斷佇列空與滿,需要另外加上乙個輔助 include include includeusing namespace std typedef struct node node define len 20 typedef int elemtype class...