- 더블 링크드 리스트에서 데이터를 임의의 노드 앞에 노드를 추가하는 메서드는
기존의 코드(https://bryanlee.tistory.com/47)에 다음 메서드를 추가하면 됨
public boolean insertToFront(T existedData, T addData){
if(this.head == null){
this.head = new Node<T>(addData);
this.tail = this.head;
}else if(this.head.data == existedData){
Node<T> newHead = new Node<T>(addData);
newHead.next = this.head;
this.head = newHead;
return true;
}else{
Node<T>> node = this.head;
while(node != null){
if(node.data == existedData){
Node<T> nodePrev = node.prev;
nodePrev.next = new Node<T>(addData);
nodePrev.next.next = node;
nodePrev.next.prev = nodePrev;
node.prev = nodePrev.next;
return true;
}else{
node = node.next;
}
}
return false;
}
}
참고
- 한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online
'자료구조' 카테고리의 다른 글
해시 테이블(2) (1) | 2022.04.29 |
---|---|
해시 테이블(1) (0) | 2022.04.29 |
링크드 리스트(3) - 더블 링크드 리스트 (2) | 2022.04.28 |
링크드 리스트(2) (0) | 2022.04.26 |
링크드 리스트(1) (0) | 2022.04.24 |