无论如何打破这个双端队列?

时间:2014-04-28 22:15:41

标签: java

我有一个用圆形数组实现的双端队列,这样'front'指针指向前面元素,'rear'指针指向最后一个元素后面的一个元素。起初它们都设置为索引0。

Normal: 

    [X][X][ ][ ][ ]

     F     R  

Example: 

1.  [ ][ ][ ][ ][ ]

    FR  

2.  AddFirst 1 times

    [ ][ ][ ][ ][X]

     R           F

3.  Add 4 more times such that it's full

    [X][X][X][X][X]

    FR           

4.  RemoveFirst

    [ ][X][X][X][X]

     R  F         

正如你所看到的一切正常,但我认为有办法打破它。我这样说是因为如果我实现F和R指向第一个和最后一个元素,那么我上面做的就会破坏它,即R指向null,这不是真的。所以我想知道它是否会在这个实现中发生。

假设:我已经实现了检查以防止在满时添加或在空时删除,在容量为零时添加和删除,以及添加在我的实现中不允许的空元素。

0 个答案:

没有答案