您的代码在单个元素上以第i深度保存每个数据
array[i]
因此失败了。
我们必须将每个数据
array
作为最后一个元素。
最简单的方法是使用
std::vector::push_back
.
虽然我不知道您项目的全部代码,但我希望下面的代码对您来说会很好:
#include <vector>
void InsertInArray(Node<T>* node, std::vector<T>& array)
{
if(node==NULL){
return;
}
InsertInArray(node->LeftSon, array);
array.push_back(node->data);
InsertInArray(node->RightSon, array);
}
std::vector<T> GetArray()
{
std::vector<T> array;
InsertInArray(this->head, array);
return array;
}