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

百色住房和城乡建设委员会网站腾讯广告官网

百色住房和城乡建设委员会网站,腾讯广告官网,吸引企业做网站的文章内容,工作总结2023年个人目录 树结构及其算法-二叉查找树 C代码 树结构及其算法-二叉查找树 二叉树在建立的过程中是根据“左子树 < 树根 < 右子树”的原则建立的&#xff0c;因此只需从树根出发比较键值即可&#xff0c;如果比树根大就往右&#xff0c;否则往左而下&#xff0c;直到相等就找…

目录

树结构及其算法-二叉查找树

C++代码


树结构及其算法-二叉查找树

二叉树在建立的过程中是根据“左子树 < 树根 < 右子树”的原则建立的,因此只需从树根出发比较键值即可,如果比树根大就往右,否则往左而下,直到相等就找到了要查找的值,如果比较到nullptr,无法再前进,就代表查找不到此值。

    TreeNode* Find(TreeNode* tree, int value) {while (true) {if (tree == nullptr)return nullptr;if (tree->data == value)return tree;else if (tree->data > value)tree = tree->leftNode;elsetree = tree->rightNode;}}

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;}}}}}void Inorder(TreeNode* tempTree) {if (tempTree != nullptr) {Inorder(tempTree->leftNode);cout << tempTree->data << " ";Inorder(tempTree->rightNode);}}TreeNode* Find(TreeNode* tree, int value) {while (true) {if (tree == nullptr)return nullptr;if (tree->data == value)return tree;else if (tree->data > value)tree = tree->leftNode;elsetree = tree->rightNode;}}
};int main() {int data[]{ 7,4,1,5,16,8,11,12,15,9,2 };cout << "原始数据:" << endl;for (int i = 0; i < 11; i++)cout << data[i] << " ";cout << endl;Tree* tree = new Tree;tree->AddNodeToTree(data, 11);cout << "中序遍历:" << endl;tree->Inorder(tree->GetTreeNode());cout << endl;cout << "请输入要查找的值:";int value;cin >> value;if ((tree->Find(tree->GetTreeNode(), value)) != nullptr)cout << "您要找的值[" << tree->Find(tree->GetTreeNode(), value)->data << "]找到了" << endl;elsecout << "您要找的值没有找到" << endl;return 0;
}

输出结果

http://www.laogonggong.com/news/32384.html

相关文章:

  • 免费网站建站avcom百度一下官网入口
  • 网站备份数据库百度首页排名代发
  • 成都设计院工资seo优化中商品权重主要由什么决定
  • 行业网站渠道选择和内容运营人员优化是什么意思
  • 哪个网站推荐做挖机事的免费域名
  • 做网站都要学什么公司企业网站制作
  • 影视网站怎么做广州市人民政府新闻办公室
  • 网站规划怎么做免费手游推广代理平台渠道
  • 自己想做个网站海淀区seo搜索优化
  • 栾川有做网站的吗怎么下载需要会员的网站视频
  • 优秀app网站设计seo优化培训班
  • wordpress底部悬浮seo sem论坛
  • 知名网站建设制作百度首页排名优化公司
  • 作品展示网站模板seo研究中心论坛
  • 如何查看网站备案旅游推广赚佣金哪个平台好
  • 什么网站百度的收录高微信营销推广方案
  • 广东潮南区疫情最新情况杭州seo代理公司
  • 什么行业最容易做网站优化关键词排名推广
  • 公司网站备案资料市场调研方法有哪些
  • 哪里有做网站系统的成都网站推广哪家专业
  • asp.net 手机网站开发教程百度宁波营销中心
  • 红色政府 网站模板百度招商加盟推广
  • 网站建设合作流程seo的名词解释
  • 如何作做网站网络服务公司
  • 织梦做淘宝客网站视频教程百度ai助手入口
  • 网站建设的主要内容推动高质量发展
  • 在mac上安装wordpress河北百度seo关键词
  • 好用的免费网站建设广东百度推广的代理商
  • psd做成网站啥是网络推广
  • 潮汕17网站一起做网店官网东莞seoseo关键词排名优化