자료구조

링크드 리스트(4) - 더블 링크드 리스트 II

Bryan Lee 2022. 4. 28. 15:40

 

- 더블 링크드 리스트에서 데이터를 임의의 노드 앞에 노드를 추가하는 메서드는

  기존의 코드(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