ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이중 연결 리스트
    자료구조 2022. 7. 12. 13:50
    728x90
    반응형

    📌 이중 연결 리스트

    💡 이중 연결 리스트의 개념

    1. 이중 연결 리스트(Double Linked List)란?
      1. 한 노드에 두 개의 Link 가 저장
      2. 이중 연결 리스트는 양방향으로 이동가능
        1. 단일 연결 리스트의 경우, 한 방향으로만 이동이 가능.
    struct node{
        struct node *llink; // 이전 노드 포인트
        int data;
        struct node *rlink; // 다음 노드 포인트

    💡 이중 연결 리스트의 종류

    1. 체인
      1. 처음 노드의 llink와 마지막 노드의 rlink는 NULL
      2. ptr = ptr -> llink -> rlink = ptr -> rlink -> llink
    1. 원형 이중 연결 리스트
    1. 원형 이중 연결리스트에 노드를 추가하는 방법
      1. 새로 추가되는 링크의 노드를 먼저 바꾸는 것이 좋다.
        void dinsert(struct node *node, struct node *newnode){
          # newnode를 node의 오른쪽에 추가
          newnode -> llink = node;
          newnode -> rlink = node -> rlink;
          node -> rlink -> llink = newnode;
          node -> rlink = newnode;
        }
    1. 원형 이중 연결 리스트에서 노드 삭제
      void ddelete(struct node *deleted){
       deleted -> llink -> rlink = delete -> rlink;
       deleted -> rlink -> llink = delete -> llink;
       free(delete);
      }
    반응형

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

    이진트리의 순회  (0) 2022.07.12
    트리와 이진트리의 개념  (0) 2022.07.12
    추가적인 리스트 연산  (0) 2022.07.12
    원형 연결리스트  (0) 2022.07.10
    연결리스트를 이용한 다항식의 구현  (0) 2022.07.10

    댓글

Designed by Tistory.