Linked List 출력하기
즉, head -> 1-> 2-> 3-> 4 라는 연결리스트가 존재할 때, 정방향Print는 [1, 2, 3, 4]를 출력하고 역방향Print는[4, 3, 2, 1]을 출력한다.
void Print(Node* p){
if(p == NULL){
return;
}
printf("%d", p -> data);
Print(p -> ptr);
}
- printf로 출력 후 Print함수 순환 호출
- 출력 -> print함수호출 -> 출력 -> print함수호출 -> ... -> 출력 -> print함수호출 -> NULL -> 함수종료 -> 함수 종료 -> ... -> 함수 종료
void ReversePrint(Node* p){
if(p == NULL){
return;
}
ReversePrint(p -> ptr);
printf("%d", p -> data);
}
- ReversePrint 함수를 순환 호출한 후, printf로 출력
- ReversePrint함수호출 -> ReversePrint함수호출 -> ... ->ReversePrint함수호출 -> NULL -> 출력 -> ReversePrint함수종료 -> 출력 -> ReversePrint함수종료 -> ... -> 출력 -> ReversePrint함수종료