小石_coding 2022-07-09 23:35 采纳率: 100%
浏览 22
已结题

请根据下面的要求进行填空

问题遇到的现象和发生背景

如果运行下面的代码是可以正常运行的,前提是一定要先看主函数,根据主函数实现的功能来填空

问题相关代码,请勿粘贴截图
#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;
}


运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

`

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月17日
    • 创建了问题 7月9日

    悬赏问题

    • ¥50 关于#华为#的问题:华为HMS账号登录
    • ¥20 Html备忘录页面制作
    • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
    • ¥20 数学建模来解决我这个问题
    • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
    • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
    • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
    • ¥30 NIRfast软件使用指导
    • ¥20 matlab仿真问题,求功率谱密度
    • ¥15 求micropython modbus-RTU 从机的代码或库?