Page 356 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 356
[표 9-1] 함수를 실행한 후의 선택 노드(crnt) 값
함수 함수를 실행한 후 선택 노드(crnt)가 가리키는 노드
Initialize NULL
Search 검색에 성공하면 검색한 노드, 검색에 실패하면 업데이트하지 않음
InsertFront 삽입한 머리 노드
InsertRear 삽입한 꼬리 노드
RemoveFront 삭제한 후 머리 노드, 리스트가 비어 있다면 NULL
RemoveRear 삭제한 후 꼬리 노드, 리스트가 비어 있다면 NULL
RemoveCurrent 삭제한 노드의 앞쪽 노드, 리스트가 비어 있다면 NULL
Clear NULL
PrintCurrent 업데이트하지 않음
PrintLnCurrent 업데이트하지 않음
Print 업데이트하지 않음
Terminate NULL
보충수업 9-1 자기 참조 구조체와 typedef 선언
노드형 구조체 Node의 선언에 대해 좀 더 살펴보겠습니다.
/*--- 노드 ---*/
typedef struct __node {
Member data; /* 데이터 */
struct __node *next; /* 다음 노드를 가리키는 포인터 */
} Node;
구조체 Node는 자기 참조형이고 멤버 next는 struct __node형 객체를 가리키는 포인터입니다.
자기 참조라는 말에 속아 멤버 next가 ‘자기 자신을 가리키는 포인터’라고 잘못 생각할 수도 있습니
다. 하지만 여기서 말하는 ‘자기 참조 구조체’란 ‘자기 자신과 같은 자료형의 객체를 가리키는 포인터
(struct __node)를 멤버로 가지고 있다’라는 뜻입니다. 그림 9C-1의 a 처럼 포인터 next가 자기 자신
을 가리키는 경우와는 다르게 b 는 자기 자신과 같은 자료형을 가진 다른 객체를 가리키는 경우도 있
기 때문입니다.
356 C 알고리즘