问题遇到的现象和发生背景
如果运行下面的代码是可以正常运行的,前提是一定要先看主函数,根据主函数实现的功能来填空
问题相关代码,请勿粘贴截图
#include <conio.h>
#include <queue>
#include <iostream>
#include <stack>
using namespace std;
class XTreeNode
{
protected:
long m_nData;
long m_nChildNum;//子节点数量(0~8)
XTreeNode* m_pChildren[8];//子节点
public:
XTreeNode(long data = 0) :m_nData(data), m_nChildNum(0)//构造函数
{
}
XTreeNode* AppendChild(long data = 0)//增加节点
{
return *m_pChildren = new XTreeNode(0);
}
XTreeNode* GetChild(long index)const//获取子节点
{
return m_pChildren[index];
}
long GetChildNum()const//查询子节点数量
{
return m_nChildNum;
}
long GetData()const//取节点中的数据
{
return m_nData;
}
void SetData(long data)
{
m_nData = data;
}
~XTreeNode()/填入1
{
}
};
class XTree
{
public:
XTreeNode m_rootNode;//根节点
//按特定的顺序规则,遍历每个节点并且输出节点数据
//需支持任意节点数量的任意数结构
void Output()//填入2
{
}
//将数内全部节点的数据写到数组,用于存储树的数据和结构
//递归遍历
void SaveTo1(long* pArray)//填入3
{
}
//根据数组内数组数据来创建树内的全部节点,用于克隆树的数据和结构
void ReadFrom1(long* pArray)//填入4
{
}
//将树内全部节点的数据写到数组,用于存储树的数据和结构
//用非递归遍历
void SaveTo2(long* pArray)//填入5
{
}
//将树内全部节点的数据写到数组中,用于克隆树的数据和结构
void ReadFrom2(long* pArray)//填入6
{
}
};
int main()
{
//1、创建树的对象
XTree treeA;
XTreeNode* pCurNode0 = &treeA.m_rootNode;
XTreeNode* pCurNode1 = pCurNode0->AppendChild(1);
XTreeNode* pCurNode2 = pCurNode0->AppendChild(2);
XTreeNode* pCurNode3 = pCurNode0->AppendChild(3);
XTreeNode* pCurNode4 = pCurNode1->AppendChild(4);
XTreeNode* pCurNode5 = pCurNode1->AppendChild(5);
XTreeNode* pCurNode6 = pCurNode3->AppendChild(6);
XTreeNode* pCurNode7 = pCurNode5->AppendChild(7);
XTreeNode* pCurNode8 = pCurNode5->AppendChild(8);
XTreeNode* pCurNode9 = pCurNode6->AppendChild(9);
XTreeNode* pCurNode10 = pCurNode8->AppendChild(10);
//2、创建树对象B,B是A的克隆体,数据和层次结构完全一致
XTree treeB;
long arrayData[1024];
treeB.SaveTo1(arrayData);
treeB.ReadFrom1(arrayData);
//3、创建树对象C,C是A的克隆体
XTree treeC;
treeA.SaveTo2(arrayData);
treeC.ReadFrom2(arrayData);
//4、按照上述第一步创建树节点的顺序规律,遍历输出所有节点的数据
cout << "输出treeA:\n";
treeA.Output();
cout << "输出treeB:\n";
treeB.Output();
cout << "输出treeC:\n";
treeC.Output();
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
`