Page 354 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 354

13        list->crnt = ptr;
                     14      }
                     15    }
                     16  }
                     17
                     18  /*--- 모든 노드를 삭제 ---*/
                     19  void Clear (List *list)
                     20  {
                     21    while(list->head != NULL)   /* 텅 빌 때까지 */
                     22      RemoveFront(list);       /* 머리 노드를 삭제 */
                     23    list->crnt = NULL;
                     24  }
                     25
                     26  /*--- 선택한 노드의 데이터를 출력 ---*/
                     27  void PrintCurrent (const List *list)
                     28  {
                     29    if(list->crnt == NULL)
                     30      printf("선택한 노드가 없습니다.");
                     31    else
                     32      PrintMember(&list->crnt->data);
                     33  }
                     34  /*--- 선택한 노드의 데이터를 출력(줄 바꿈 문자 포함) ---*/
                     35  void PrintLnCurrent (const List *list)
                     36  {
                     37    PrintCurrent(list);
                     38    putchar('\n');
                     39  }
                     40                                                       (실습 9-2[F]에서 계속)


                   모든 노드를 삭제하는 Clear 함수

                   Clear 함수는 연결 리스트의 모든 노드를 삭제하는 함수입니다. 연결 리스트가 완전히 텅 빈
                   상태(head == NULL)가 될 때까지 머리 요소의 삭제 작업을 반복합니다.
                      모든 노드를 삭제하면 리스트가 완전히 빈 상태가 됩니다. 따라서 crnt의 값도 NULL로 업데이트됩니다.





                   선택한 노드의 데이터를 출력하는 PrintCurrent / PrintLnCurrent 함수
                   PrintCurrent, PrintLnCurrent 함수는 선택한 노드의 데이터를 출력하는 함수입니다. 선택
                   한 노드가 없는 경우(list->crnt == NULL)에는 ‘선택한 노드가 없습니다.’라고 출력합니다.




                   354   C 알고리즘
   349   350   351   352   353   354   355   356   357   358   359