フロントとリアの両方から追加および削除できるようにDequeを書いています....私の論理は間違っていると思いますが、理解できません! 前から挿入するときは、後ろから外さなければなりませんが、前からも外します。私のコードをチェックして、助けてください。
public void insertLeft(long j)
{//have to make sure it is not full before inserting
if (!isFull())
if(left == maxSize-1)
left = -1;
queArray[++left] = j;
nItems++;
}
public long removeRight()
{
//make sure it is not empty first
if(!isEmpty())
if(right == maxSize)
right = 0;
nItems--;
long temp = queArray[right++];
// need to increment front after you remove an item
return temp;
}
public void insertRight(long i) {
if (!isFull())
if(right == maxSize-1)
right = 0;
queArray[++right] = i;
nItems++;
}
public long removeLeft(){
if (!isEmpty())
temp = queArray[++left];
if (left == maxSize-1)
left = -1;
nItems--;
return temp;
}