使用c++构建一个二叉树并复制、输出。
程序#include #include //#include #include #include#include #include#include using namespace std;struct treenode // 定义二叉树{ int val; // 当前节点值用val表示 struct treenode *left; // 指向左子树的指针用left表示 struct treenode *right; // 指向右子树的指针用right表示 treenode(int x) :val(x), left(null), right(null) { } // 初始化当前结点值为x,左右子树为空};//创建树treenode* insert(treenode* tree, int value){ treenode* node = (treenode*)malloc(sizeof(treenode)); // 创建一个节点 node->val = value; // 初始化节点 // malloc函数可以分配长度 node->left = null; node->right = null; treenode* temp = tree; // 从树根开始 while (temp != null) { if (value val) // 小于根节点就进左子树 { if (temp->left == null) { temp->left = node; // 新插入的数为temp的左子树 return tree; } else // 下一轮判断 temp = temp->left; } else // 否则进右子树 { if (temp->right == null) { temp->right = node; // 新插入的数为temp的右子树 return tree; } else // 下一轮判断 temp = temp->right; } } return tree;} // ************* 输出图形二叉树 *************void output_impl(treenode* n, bool left, string const& indent){ if (n->right) { output_impl(n->right, false, indent + (left ? | : )); } cout << indent; cout << (left ? '\\' : '/'); cout << -----; cout
right) { output_impl(root->right, false, ); } cout val = root->val; if (root->left != nullptr) newroot->left = new treenode(0); if (root->right != nullptr) newroot->right = new treenode(0); copybitree(root->left, newroot->left); copybitree(root->right, newroot->right); } //output(newroot);}// ====================测试代码====================int main(){ treenode* tree =new treenode(10); // 树的根节点 treenode* treeresult; treeresult = insert(tree, 6); // 输入n个数并创建这个树 treeresult = insert(tree, 4); treeresult = insert(tree, 8); treeresult = insert(tree, 14); treeresult = insert(tree, 12); treeresult = insert(tree, 16); treenode* mirroot = new treenode(10); copybitree(treeresult, mirroot); // 复制二叉树 output(treeresult); // 输出原二叉树 output(mirroot); // 输出复制的二叉树}结果
车用图像传感器参数小议——信噪比知多少?
特斯拉汽车租赁业务比例下降,与二手车转售价值疲软有关
存放电池电量计DS2780参数-Storing Batter
日本无线送电技术将进入实用化阶段
自动驾驶的发展起源以及DARPA时的计算机视觉
C++构建并复制二叉树
奥迪A7 30FSI上手体验评测
霍尼韦尔将为Volaris航空公司提供照明技术
涡轮流量计传感器部分进行维护保养时需要注意什么
联发科3G芯片Q4占营收升至11% 上修目标价
电瓶修复技术—电池破壳为什么总是修补不了
隔离开关的额定电流怎么计算出来
小米6和小米6plus:外形或超越友商2年!价格超过1999元
关于边缘计算和边云协同你了解的有多少
300mm晶圆厂将成为半导体行业主要新增生产线
现代KONA官方图发布,小型SUV中的颜值担当!更适合年轻人
NTSC制式信号发生器
高通的X55 5G调制解调器被大量产商采用终端将明年上市
为何电流互感器可以短路而串联的负载却不能太大
NASA开放国际空间站旅行计划,旅费$5000万!