4 基於自定義陣列的環形佇列實現

2021-09-24 13:39:24 字數 1692 閱讀 2535

package com.lonely.佇列;

/** * @author ztkj-hzb

* @date 2019/6/18 15:46

* @description 迴圈佇列

*/public

class

loopqueue

implements

queue

public

loopqueue

(int capcity)

/** * 入隊

** @param t

*/@override

public

void

enqueue

(t t)

//賦值

this

.datas[tail]

= t;

this

.tail =

(tail +1)

%this

.datas.length;

size++;}

/** * 出隊

** @return

*/@override

public t dequeue()

//將隊首的指標向後移動

t frontdata =

this

.datas[front]

; front =

(front +1)

%this

.datas.length;

size--

;//判斷是否需要縮容if(

getsize()

<=

getcapcity()

/2)return frontdata;

}/**

* 獲取隊首的資料

** @return

*/@override

public t getfront()

/** * 獲取佇列實際長度

** @return

*/@override

public

intgetsize()

/** * 判斷佇列是否為空

** @return

*/@override

public

boolean

isempty()

/** * 格式化輸出

** @return

*/@override

public string tostring()

} message.

("}tail】");

return message.

tostring()

;}/** * 擴容

** @param newcapcity

*/private

void

resize

(int newcapcity)

this

.datas = newdatas;

this

.front =0;

this

.tail =

getsize()

;}/** * 獲取實際容量

** @return

*/@override

public

intgetcapcity()

}

自定義佇列的實現C

佇列的特點是先進先出,如同日常生活中的排隊。佇列有加入隊尾,從隊頭刪除元素,取得隊尾元素,取得隊頭元素,取得佇列長度,判斷佇列是否為空等操作。下面,實現乙個鏈佇列 佇列中的節點 public class msgqueuenode public t value set 自定義的訊息佇列 public ...

java 阻塞佇列自定義實現

自定義阻塞佇列 思路 阻塞佇列有這樣乙個特點,當佇列中沒有值得時候,這是只允許值得插入,當佇列中有值得時候,這時候允許佇列的插入,同時也允許佇列中元素的移除,但是當佇列中沒有值得時候,這時候就不允許佇列的移除了,而是等待其他執行緒插入新的元素 public class blockingqueue 如...

flex4基於datGroup自定義布局例項

2 ss.mxml 2 itemrenderer.mxml 3 circularlayout.as package var count uint target.numelements 當前datagroup容器裡的所有元件的總數量 var w2 number target.width 當前瀏覽器的寬...