2017-09-26 4 views
0

커서를 목록에서 제거하고 이전 CarListNode (또는 커서가 이전에 목록의 머리글을 참조한 경우 머리글)를 참조하려고합니다. 커서 내부의 정보를 반환합니다. 내 코드가 커서를 올바르게 제거하지 못합니다. 내 코드의 문제점은 무엇입니까? 여기이중 연결된 목록에서 커서 제거

내 현재 코드입니다 :

public Fruit removeCursor() throws EndOfListException { 

    if (cursor == null) { 
     throw new EndOfListException(); 

    } else if (cursor.getPrev() == null) { 
     head = cursor.getNext(); 
     cursor.setNext(null); 
     cursor.setPrev(null); 
     cursor = head; 

    } else if (cursor.getNext() == null) { 
     tail = cursor.getPrev(); 
     cursor.setPrev(null); 
     cursor.setNext(null); 
     cursor = tail; 

    } else { 
     cursor.setData(cursor.getNext().getData()); //this isn't a singly linked list 
     cursor.setNext(cursor.getNext().getNext()); 
    } 

    count--; 

    return cursor.getData(); 
} 
+0

질문은 무엇입니까? –

+0

늦은 밤 죄송합니다. 커서가 의도 한대로 제거되지 않기 때문에 코드에 무엇이 잘못되었는지 묻고있었습니다. –

+0

* 내 코드가 커서를 올바르게 제거하지 못합니다. 내 코드의 문제는 무엇입니까? * 누가 말할 때까지 커서가 무엇인지 아는 사람 – nullpointer

답변

0

"커서를 제거"하지 않습니다 else 절 ...

이 같은 시도 :

else { 
    cursor.getPrev().setNext(cursor.getNext()); 
    cursor.getNext().setPrev(cursor.getPrev()); 
    // You might want to release the cursor's item, EG: 
    cursor = null; 
    cursor = cursor.getNext(); 
} 
관련 문제