ShanXiangJC
12/12/2017 - 11:48 AM

[ArrayDeque] #ArrayDeque

[ArrayDeque] #ArrayDeque

 Head:位于第一个元素位置
 Tail:位于最后一个元素后面
 超过限度但是容量够的情况下,tail跑到头或者head跑到尾---循环array
 如果tail==head-->拓容: 2x然后按照“人类顺序”复制到新array,改变引用,garbage collection
 
 addFirst(): Amortized O(1)
 addLast(): Amortized O(1)
 
 循环index用mod ,改进够可以用逻辑与运算 &
 index = (index+1) %length     <=>    (index + 1) & (length - 1)
 index = (index-1+length)%length  <=> (index - 1) & (length - 1) 
 b  
 circular array
 operations are limited to heads and tails