학교/자료구조

5. 이중 연결리스트

daykim 2022. 3. 14. 06:44

이중 연결리스트

각 노드가 선행노드와 후속 노드에 대한 링크를 가지는 리스트

노드의 왼쪽링크와 오른쪽 링크를 가지고 헤드노드를 가진다.

 

노드 구조

typedef struct node *nodepoint;
typedef struct node
{
    nodepoint llink;
    int data;
    nodepoint rlink;
}

 

노드 삽입

void dinsert(nodepoint node, nodepoint newnode)
{
    newnode -> llink = node;
    newnode -> rlintk = node -> link;
    node -> rlink -> llink = newnode;
    node -> rlink = newnode;
}

 

노드 삭제

void ddelete(nodepoint node, nodepoint deleted)
{
    deleted -> llink -> rlink = deleted -> rlink;
    deleted -> rlink -> llink = deleted -> llink;
    free(deleted);
}

 

'학교 > 자료구조' 카테고리의 다른 글

6. 트리  (0) 2022.03.14
4. 연결 리스트  (0) 2022.03.14
3. 스택과 큐  (0) 2021.09.28
2-2. 다항식  (0) 2021.09.27
2-1. 배열과 구조  (0) 2021.09.27