kruti-working-branch #14

Closed
kruti wants to merge 15 commits from kruti/Princeton1:kruti-working-branch into main
Showing only changes of commit e24ed7cf50 - Show all commits

View File

@ -6,7 +6,7 @@ import javax.annotation.Nonnull;
public class ArrayQueue<E> extends Queue<E>{
private E[] queueArray = (E[]) new Object[1];
private E[] queueArray = (E[]) new Object[5];
private int startPtr;
private int endPtr;
private int size;
@ -50,8 +50,9 @@ public class ArrayQueue<E> extends Queue<E>{
int oldArraySize = tempArray.length;
queueArray = (E[]) new Object[targetSize];
int j = 0;
for(int i=startPtr; i<endPtr; i++)
queueArray[j++]=tempArray[i];
for(int i=0; i<size; i++)
hitanshu marked this conversation as resolved Outdated

If the old queue is wrapped, then endPtr will be less than startPtr

If the old queue is wrapped, then endPtr will be less than startPtr
queueArray[j++]=tempArray[(startPtr+i)%oldArraySize];
endPtr = size();
startPtr = 0;
queueArrayLength = queueArray.length;
@ -69,12 +70,12 @@ public class ArrayQueue<E> extends Queue<E>{
@Override
public boolean hasNext() {
return iteratorIndex<endPtr;
return iteratorIndex % queueArrayLength < endPtr % queueArrayLength;
}
@Override
public E next() {
hitanshu marked this conversation as resolved
Review

Iterator does not account for wrapping

Iterator does not account for wrapping
return queueArray[iteratorIndex++];
return queueArray[iteratorIndex++ % queueArrayLength];
}
}
}