我在理解下面的代码块时遇到了一些麻烦:
void InsertSorted(Entry * & list, Entry * newOne) {
if (list == NULL || newOne->name < list->name) {
newOne->next = list;
list = newOne;
} else {
InsertSorted(list->next, newOne);
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了遍历代码但只能设法达到第一个if语句的地步.一旦我到达执行第一个if语句的位置,我就不明白先前对InsertSorted的调用如何管理将列表的前部连接到新创建的列表.
谢谢