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 當前瀏覽器的寬...