【发布时间】:2019-11-18 05:04:21
【问题描述】:
我正在用 C++ 做一个简单的二叉搜索树实现。我发现它适用于大多数测试用例,但我对创建树并按顺序添加 1、2、3、4、5、6、7、8、9、10 的测试用例感到困惑。中序遍历结果为 1,10,2,3,4,5,6,7,8,9。我的理解是中序遍历将按排序顺序打印元素,即 1,2,3,4,5,6,7,8,9,10。但是,要么这个假设不正确,要么我的代码打印了不正确的输出。请让我知道我的输出是否正确,以及为什么正确。谢谢你。
【问题讨论】:
-
您是否使用
std::string作为树键?因为如果这样做,"10"确实大于"1"但小于"2"。这是因为字符串是按字典顺序比较的。
标签: c++ binary-search-tree inorder