Hur gör jag när sista noden från en kö plockas ut..jag vill att kön ska bli tom. head och tail ska sättas till null. När kön skapas sätter jag ju head och tail till null och kön är tom. Men när den sista noden plockas ut måste jag göra något...men vet inte exakt vad och hur?
//Här plockas noder ur kön
public WordNode dequeue() {
//Ordet i noden
WordNode ord = head;
if(head.next!=null){
head = head.next;
}
else{
//??
}
return ord;
}
public boolean isEmpty() {
if (head==null && tail==null)
return true;
else
return false;
}
Om du plockar ut det sista elementet ur en kö är den per definition tom. Om du anser den vara tom om huvud och tail är null, borde du alltså sätta head och tail till null när du plockar ut sista elementet.
Då kommer inte den första noden som jag stoppade in ut överhuvudtaget..tänker jag fel här?
Jag skulle gissa att felet ligger i instoppningsfunktionen, i sådana fall. Posta den så kanske vi kan hjälpa. Och förresten, använd [kod]sådana här taggar runt din kod för att få den mer lättläst[/kod] :)
Problemet löst. Som någon sa..problemet låg i insättnigen! varje gång kön blev helt tom sattes faderspekaren till null vilket ledde till att vägen bröts där typ.. :birp