当前位置: 首页 > news >正文

网站建设公司专业公司百度旧版本

网站建设公司专业公司,百度旧版本,海口建站费用,同江佳木斯网站制作目录 树结构及其算法-用链表来实现二叉树 C代码 树结构及其算法-用链表来实现二叉树 以链表实现二叉树就是使用链表来存储二叉树,也就是运用动态分配内存和指针的方式来建立二叉树。 使用链表来表示二叉树的好处是节点的增加与删除操作相当容易,缺点…

目录

树结构及其算法-用链表来实现二叉树

C++代码


树结构及其算法-用链表来实现二叉树

以链表实现二叉树就是使用链表来存储二叉树,也就是运用动态分配内存和指针的方式来建立二叉树。

使用链表来表示二叉树的好处是节点的增加与删除操作相当容易,缺点是很难找到父节点,除非在每一个节点多增加一个指向父节点的指针。

struct TreeNode {int data;TreeNode* leftNode;TreeNode* rightNode;TreeNode(int tempData, TreeNode* tempLeftNode = nullptr, TreeNode* tempRightNode = nullptr) {this->data = tempData;this->leftNode = tempLeftNode;this->rightNode = tempRightNode;}
};

C++代码

#include<iostream>
using namespace std;struct TreeNode {int data;TreeNode* leftNode;TreeNode* rightNode;TreeNode(int tempData, TreeNode* tempLeftNode = nullptr, TreeNode* tempRightNode = nullptr) {this->data = tempData;this->leftNode = tempLeftNode;this->rightNode = tempRightNode;}
};class Tree {
private:TreeNode* treeNode;
public:Tree() {treeNode = nullptr;}TreeNode* GetTreeNode() {return this->treeNode;}void AddNodeToTree(int* tempData, int tempSize) {for (int i = 0; i < tempSize; i++) {TreeNode* currentNode;TreeNode* newNode;int flag = 0;newNode = new TreeNode(tempData[i]);if (treeNode == nullptr)treeNode = newNode;else {currentNode = treeNode;while (!flag) {if (tempData[i] < currentNode->data) {if (currentNode->leftNode == nullptr) {currentNode->leftNode = newNode;flag = 1;}elsecurrentNode = currentNode->leftNode;}else {if (currentNode->rightNode == nullptr) {currentNode->rightNode = newNode;flag = 1;}elsecurrentNode = currentNode->rightNode;}}}}cout << "完成建立二叉树" << endl;}void Inorder(TreeNode* tempTree) {if (tempTree != nullptr) {Inorder(tempTree->leftNode);cout << tempTree->data << " ";Inorder(tempTree->rightNode);}}
};int main() {int data[]{ 6, 3, 5, 9, 7, 8, 4, 2 };cout << "原始数据:" << endl;for (int i = 0; i < 8; i++)cout << data[i] << " ";cout << endl;Tree* tree = new Tree;tree->AddNodeToTree(data, 8);tree->Inorder(tree->GetTreeNode());return 0;
}

输出结果

http://www.yayakq.cn/news/215552/

相关文章:

  • 建网站先要申请网址吗医院网站建设 不足
  • 长丰网站制作企业网站建设前期规划
  • 做好门户网站建设站酷网素材图库免费下载
  • 做网站要准备的需求公司网站维护一般需要做什么
  • 5个常见的电子商务网站wordpress英文主题改成中文版
  • 贵阳公司做网站网站首页设计欣赏
  • 关于网站建设方面的文章作品网站
  • 天津建设培训中心网站网站界面大小
  • 宛城区微网站开发公司做网站需要准备什么条件
  • 洛阳市住房与城乡建设部网站城乡建设主管部门官方网站
  • c 怎么和网站做交互网站seo技术
  • 成都网站开发定网站建设html5作品
  • 想自己做个网站在哪里做哪里有最新的网站源码
  • 东莞纸箱定制 技术支持 东莞网站建设无锡建设建设局网站
  • 英语门户网站织梦源码黄骅市大学有哪些
  • 怎么在360自己做网站吗技术支持 贵阳贵阳网站建设
  • 多后缀域名查询网站中信建设有限责任公司深圳中信金融中心项目工期专业招标
  • 求做网站网站开发合同里的坑
  • 如何使用模板建设网站泗阳网站设计
  • 苏州h5网站建设价钱视频一键生成网址链接
  • 类似pc蛋蛋的网站建设网站主页模板
  • 免费培训机构wordpress sql优化
  • 自己做动画网站php和网站开发
  • 个人网站制作设计上线了小程序怎么样
  • 青海网站建设哪家好wordpress本地播放器
  • 建一个商业网站要多少钱怎么卸载2345网址导航
  • 如何制作班级网站wordpress禁用右键
  • 东盟建设投资有限公司网站网站 公司 备案
  • 做淘宝那样的网站网站开发的人李海涛
  • 大连建设网联合收费提供seo服务