노드 순회는 트리 구조에서 각 노드를 한 번씩 방문하는 과정이다.
head 는 첫 번째 노드를 가리키고, 노드의 마지막 값에서는 NULL 이 들어있다.
노드를 모두 순회하기 위해 현재 노드 위치를 가리키는 curNode 를 선언한다.
typedef strcut{
int value;
struct node* next;
}
node* head = NULL; // 초기값을 NULL로 설정
void display() {
node* nurNode;
}
head 에 첫 번째 노드의 주소값이 저장되어 있으니까 curNode 에 head 값을 넣는다.
curNode = head;
마지막 노드 전까지 순회하려면 포인터가 NULL 을 가리키지 않을 때까지 노드를 순회하고 값을 출력하면 된다.
또한 첫 번째 노드의 값을 출 그 다음 노드의 정보를 알 수 있는 방법은 노드의 포인터가 가리키는 값으로 이동하면 되니까
아래와 같이 코드를 작성해준다.
while (curNode->next != NULL){
printf("%d", curNode->value);
curNode = curNode->next);
}
두 번째 노드의 포인터가 NULL 을 가리키면 while 문을 건너뛰게 되고, 마지막 원소 값을 출력하면 된다.
printf("%d\n", curNode->value);
<완성된 코드>
typedef struct node{
int value;
struct node* next;
}node;
node* head = NULL; // 초기값을 NULL로 설정
void display() {
node* nurNode;
nurNode = head;
while (curNode->next != NULL){
printf("%d\n", curNode->value);
curNode = curNode->next);
}
printf("%d\n", curNode->value);
}
'자료구조&알고리즘' 카테고리의 다른 글
[단일 연결 리스트 ] 특정 값 노드 검색 (0) | 2024.05.25 |
---|---|
[단일연결 리스트] 전체 노드 삭제 (0) | 2024.05.25 |
[단일 연결 리스트] 첫 노드 삭제 (0) | 2024.05.19 |
[단일 연결 리스트] 노드 맨 뒤 삽입 (0) | 2024.05.19 |
[단일 연결 리스트 2] 노드 맨 앞 삽입(Insertion) | 스택 (stack) (0) | 2024.05.18 |