void insertAtIndexNext(int index, int data)
{
    struct Node *i_node = getNodeAtIndex(index); 
    struct Node *new = (struct Node*)malloc(sizeof(struct Node));   
    new->pPrev = i_node;        
    new->pNext = i_node->pNext;  
    new->data = data;         
    i_node->pNext->pPrev = new;   
    i_node->pNext = new;
}

 getNodeAtIndex()는 헤드노드찾는함수고..


 굵은글씨 부분이 이해가 안됨..

     i_node          pNext                               pNext
 ┌────┐    =======>   ┌────┐    =======>     
 │  index  │                    │   new   │                    
 └────┘   <=======    └────┘    <======    
                         pPrev                              pPrev


 굵은글씨대로 하면 제자리아님?

새로운 노드의 이전 노드를 원래 노드에 연결하고,

새로운 노드의 다음 노드는 원래 노드가 다음 노드를 가르키고 있던 노드를 가르킨다.

원래 노드의 다음 노드의 이전 노드를 새로운 노드를 가르킴.

직역하면 이말같은딩.




 열심히작성했는데 답글점