根据以上代码写出一个主函数
时间: 2024-12-12 18:19:59 浏览: 2
确实,为了完成上述所有功能,我们需要创建一个主函数,该函数提供用户输入的选择菜单,然后调用相应的操作。这里是一个简单的主函数的示例,包括一些基本的控制流和用户输入处理:
```c
#include <stdio.h>
#include <stdlib.h>
// 上面定义的所有函数...
int main() {
// 初始化一个空二叉树
TreeNode* root = NULL;
while (1) {
printf("\n二叉树操作菜单:\n");
printf("1. 插入节点\n");
printf("2. 预先遍历\n");
printf("3. 中序遍历\n");
printf("4. 后续遍历\n");
printf("5. 树高计算\n");
printf("6. 节点计数\n");
printf("7. 叶子节点计数\n");
printf("8. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
int value;
printf("请输入要插入的值: ");
scanf("%d", &value);
root = insertNode(&root, value);
break;
case 2:
preOrderTraversal(root);
printf("\n");
break;
case 3:
inOrderTraversal(root);
printf("\n");
break;
case 4:
// 后续遍历同理,这里省略
break;
case 5:
int height = heightOfTree(root);
printf("树的高度: %d\n", height);
break;
case 6:
int totalNodes = countNodes(root);
printf("总节点数: %d\n", totalNodes);
break;
case 7:
int leafCount = countLeaves(root);
printf("叶子节点数: %d\n", leafCount);
break;
case 8:
printf("感谢使用,再见!\n");
exit(0);
default:
printf("无效的选择,请重新输入。\n");
}
// 清除输入缓存
getchar();
}
return 0;
}
```
这个主函数会持续运行直到用户选择退出。你可以根据实际需要对菜单选项进行修改和扩展。请注意,这只是一个基础版本,实际应用中可能需要添加错误检查和其他细节。
阅读全文