关于调整数组大小(简单Java)

时间:2018-02-20 07:19:32

标签: java arrays data-structures queue

这是ResizingArrayQueue ADT第4版算法中调整大小方法的教科书实现:

private void resize(int capacity) {
    assert capacity >= n;
    Item[] temp = (Item[]) new Object[capacity];
    for (int i = 0; i < n; i++) {
        temp[i] = q[(first + i) % q.length];
    }
    q = temp;
    first = 0;
    last  = n;
}

我的问题是,在将(first + i) % q.length复制到q时,为什么还要使用temp作为索引?它不应该总是等于first + i吗?什么是mod?

完整代码https://algs4.cs.princeton.edu/13stacks/ResizingArrayQueue.java.html

0 个答案:

没有答案