package com.czz.circle;
//雙向迴圈佇列
public
class
dequeue
// 元素的數量
public
intsize()
// 是否為空
public
boolean
isempty()
// 從隊尾入隊
public
void
enqueuerear
(e element)
// 從隊頭出隊
public e dequeuefront()
// 從隊頭入隊
public
void
enqueuefront
(e element)
// 從隊尾出隊
public e dequeuerear()
// 獲取佇列的頭元素
public e front()
// 獲取佇列的尾元素
public e rear()
public
intindex
(int index)
return index%elements.length;
}@override
public string tostring()
sb.(elements[i]);
} sb.
("]");
return sb.
tostring()
;}private
void
ensurecapacity
(int capacity)
elements=newelements;
front=0;
system.out.
println
("oldcapacity:"
+oldcapacity+
", "
+"newcapacity"
+newcapacity);}
}
package com.czz.circle;
public
class
test
for(
int i=
0;i<
3;i++)
system.out.
println
(queue);}
}
雙向迴圈佇列的陣列實現
需要說明的是此演算法我並沒有測試過,所以只能用用來參考!package source public class deque insert a number into left side public void insertleft long n insert a number into right ...
deque雙向佇列
deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面列出deque的常用成員函式 deque的實現比較複雜,內部會維護乙個map 注意!不是stl中的map容器 即一小塊連續的空間,該空間中每個元素都是指標,指向另一段 較...
deque雙向佇列
deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面列出deque的常用成員函式 deque的實現比較複雜,內部會維護乙個map 注意!不是stl中的map容器 即一小塊連續的空間,該空間中每個元素都是指標,指向另一段 較...