[자료구조] 이진 트리의 순회(Traversal) (2)
오늘은 아진트리의 순회 방법에 있어서
좀 더 유연한 동작방식을 적용하기 위해서
함수 포인터를 이용해 보도록 하겠다.
저번 포스팅이 재귀의 개념이 핵심이었다면
이번 포스팅은 함수 포인터가 핵심이 된다.
가장 첫 줄을 보면 함수 포인터가 선언이 되어있다.
반환형은 void 그리고 매개 변수는 BTData타입이다.
이 함수 포인터를 순회 함수의 두 번째 매개변수로 넣어준다.
그리고 데이터를 다루는 부분을 이 함수 포인터로 대체한다.
이제는 인자로 들어온 함수에 따라 데이터를 다루는 방식이 달라진다.
ShowIntData(int Data) 함수를 인자로 전달해주고 실행
이로써 이진 트리의 순회가 좀 더 유연성을 가지게 되었다.
데이터를 다루는 방식이 달라지더라도 함수를 재 선언할 필요가 없고
함수를 하나 선언해서 넘겨주기만 하면 되는 것이다.
이는 STL의 알고리즘에 쓰이는 콜백 메커니즘의 기본이다.
이러한 동작 원리를 잘 이해해서 좀 더 유연한 프로그래밍을 할 수 있도록하자.
'C, 자료구조' 카테고리의 다른 글
[자료구조] 우선순위 큐의 이해(2) (0) | 2017.04.16 |
---|---|
[자료구조] 우선순위 큐의 이해(1) (0) | 2017.04.16 |
[자료구조] 이진 트리의 순회(Traversal) (1) (0) | 2017.04.13 |
[자료구조] 이진 트리의 이해 (0) | 2017.04.06 |
[자료구조] 연결 리스트의 이해(3) (0) | 2017.04.05 |