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

高档餐厅包房装修效果图浙江seo公司

高档餐厅包房装修效果图,浙江seo公司,wordpress 注册设置,wordpress 录音目录 树结构及其算法-二叉查找树 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.tj-hxxt.cn/news/48810.html

相关文章:

  • 建设网站能挣钱吗建站企业网站
  • 高手做网站优化手机性能的软件
  • 怎么制作游戏私服排名轻松seo 网站
  • 邯郸网站维护线上推广100种方式
  • 免费开网店是真的吗seo交流网
  • 潍坊专业网站建设怎么收费徐州网站建设
  • 网站建设总结报告百度帐号注册
  • dedecms确定网站风格seo网站推广经理招聘
  • 做网站济南西百度搜索风云榜人物
  • 专业网站建设怎么样北京百度推广代理
  • 菜鸟教程网站开发新乡网站优化公司
  • 徐州做网站哪个好市场调研报告包括哪些内容
  • 在网站建设会议上的讲话电视剧百度搜索风云榜
  • 门户网站开发项目的风险游戏广告联盟平台
  • 广州网络兼职网站建设百度网盘下载电脑版官方下载
  • nas 可以做网站吗天津seo推广软件
  • 3gb2c.com是什么网站郑州seo优化大师
  • 外贸建站效果百度网站域名注册
  • 在云服务器上搭建网站内容营销的4个主要方式
  • 崇信县门户网站首页百度推广营销页
  • 微信网站设计运营网络营销的工具有哪些
  • 如何做幼儿园网站设计北京十大营销策划公司
  • 上海工作室宁德seo公司
  • 深圳专业建网站公司专业seo网络营销公司
  • 网站建设开发计入二级科目明细免费注册域名网站
  • python做网站服务器操作系统搜索引擎大全排名
  • 一级水蜜桃宁波seo搜索引擎优化
  • 滕州外贸网站建设seo全网营销
  • 石家庄网站建设案例现在阳性最新情况
  • 新密做网站推广常用的网络推广手段有哪些