使用索引将 BST 值存储到数组中
Storing BST values into an array using index
>我正在尝试创建一个使用 BST 将其值存储在数组中的函数。我有一个全局变量索引 = -1;动态创建的数组,大小为 BST。
int index = -1;
struct treeNode{
int value;
treeNode *left;
treeNode *right;
}
void treeTraversal(treeNode *node, int array[], int index){
index++;
if (node != nullptr){
array[index] = node->value;
treeTraversal(node->left, array, index);
treeTraversal(node->right, array, index);
}
}
它适用于一些具有此类结构的树木
6
5
4
但它不适用于这样的结构
3
2 4
5
数组赋值应该在树遍历的中间
int index = 0;
struct treeNode{
int value;
treeNode *left;
treeNode *right;
}
void treeTraversal(treeNode *node, int array[], int *index){
if (node != nullptr){
treeTraversal(node->left, array, &index);
array[index++] = node->value;
treeTraversal(node->right, array, &index);
}
}
树排序教程
相关文章:
- 使用无符号字符数组有效存储内存
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 在c++中获取两个大int,并将它们存储在数组中
- 使用 Xcode 将双精度存储在数组C++中
- 访问表示 2D 矩阵的 1D 存储数组
- 从输入文件读取整数,仅存储数组C 中的唯一整数
- 如何在队列中存储数组
- 按列主要顺序迭代行大量存储数组
- 如何使存储数组的二进制搜索稳定
- 将行中的字段从textfile中更改为存储数组,而不是重新编写文件
- 存储数组索引值C++
- 存储数组的地方,如果我在返回后声明它
- 缺少存储数组地址的内存
- 使用static在函数中存储数组各个组件的值
- 如何存储数组的每个相邻子数组的和
- 在c++中存储数组映射
- 存储数组的地址列表,以解析原始的非终止文本
- 用于存储数组的字符串
- c++存储数组下一个位置的地址
- 在 for 循环中创建和存储数组