Я изучаю DataStructure в части дерева двоичного поиска. Я пытаюсь распечатать бинарное дерево способом обхода по порядку. В моем учебнике он использует условие if для его реализации. Но условие if - это не цикл. Как это работает? Это связано с использованием указателя корня?
Кроме того, я не понимаю, как функция вызывает себя и все еще работает.
void displayInorder (treeNode *root){
if(root) {
displayInorder(root->left);
printf("%c", root->key);
displayInorder(root->right);
}
Кроме того, когда я вызывал ее в основной функции, я использовал ее следующим образом.
displayInorder (корень);
И это прекрасно работает!
Но я просто не понимаю этот процесс.