JAVA 中用数组来创建 deque

如图所示, 让我们根据copy创建一个数组 要求 深复制。

img


可用方法:

private void resize(int capacity) {

    T[] newarray =(T[])(new Object[capacity]);
    int currtent =rightplusone(nextFirst);
    for (int i=0;i<size;i++){
        newarray[i]=items[currtent];
        currtent=rightplusone(currtent);


    }
    items =newarray;
    nextFirst =capacity-1;
    nextLast=size;



    
}

/*
******************** HELPER METHODS END ********************
*/
private int rightplusone(int index){
    return (index+1)% items.length ;


}
private int leftplusone(int index){
    return (index-1+items.length)% items.length ;


}