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

安全的网站制作公司/最新新闻国内大事件

安全的网站制作公司,最新新闻国内大事件,免费申请,如何搭建wordpress/** 二叉树的下一个结点* * 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?* 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。** 思路:情况1:如果…
/** 二叉树的下一个结点* * 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?* 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。** 思路:情况1:如果该结点有右子树,则右子树中最左子节点为所求;*      情况2:如果无右子树,且是其父结点的左子节点,则父结点为所求;*      情况3:如果无右子树,且是其父结点的右子节点,则需向上遍历,找到某一节点,*             它是其父结点的左子节点,则父结点为所求。(所给节点是所求节点的左子树的最右元素)*/#include <iostream>using namespace std;struct tree_node
{int data;tree_node* lc;tree_node* rc;tree_node* parent;
};class solution
{
public:tree_node* find_next_node(tree_node* some_node){if (!some_node)return nullptr;if (some_node->rc){some_node = some_node->rc;while (some_node->lc){some_node = some_node->lc;}return some_node;}else if (some_node->parent && some_node->parent->lc == some_node){return some_node->parent;}else if (some_node->parent && some_node->parent->rc == some_node){some_node = some_node->parent;while (some_node->parent && some_node->parent->lc != some_node)some_node = some_node->parent;if (some_node->parent)return some_node->parent;}else{return nullptr;}return nullptr;}//测试用tree_node* create_btree(istream& in) // 生成一颗二叉树,对每个新节点,从二叉树根节点开始,左孩子为空,就插入为左孩子;{                                    // 右孩子为空,就插入为右孩子;int value;                       // 都不为空,随机转入一侧,并以孩子节点为根节点重复这般操作。if (!(in >> value))return nullptr;tree_node* root = new tree_node;root->lc = root->rc = root->parent = nullptr;root->data = value;while (in >> value){tree_node* temp_root = root;tree_node* new_node = new tree_node;new_node->data = value;new_node->lc = new_node->rc = new_node->parent = nullptr;while (true){if (!temp_root->lc){temp_root->lc = new_node;new_node->parent = temp_root;new_node = nullptr;break;}else if (!temp_root->rc){temp_root->rc = new_node;new_node->parent = temp_root;new_node = nullptr;break;}else{if (rand() % 2)temp_root = temp_root->lc;elsetemp_root = temp_root->rc;}}}return root;}void trav_in_recur(tree_node* root) //中序遍历递归{if (!root)return;trav_in_recur(root->lc);cout << root->data << " ";trav_in_recur(root->rc);}
};int main()
{solution a;tree_node* root = a.create_btree(cin);tree_node* some_node = root->lc->rc;if (some_node)cout << some_node->data << endl;a.trav_in_recur(root);cout << endl;tree_node* find = a.find_next_node(some_node);if (find)cout << find->data << endl;system("pause");
}
http://www.lbrq.cn/news/1547209.html

相关文章:

  • 百度搜索指数排行/关键词seo排名
  • 徐州网站开发市场/互联网营销模式有哪些
  • 容桂做外贸网站/怎么安装百度
  • 江苏嘉隆工程建设有限公司网站/泉州百度广告
  • 政府网站安全如何做/站长工具排名查询
  • 遵义市网站建设/微帮推广平台怎么加入
  • 网站忧化是干什么的/品牌推广的渠道有哪些
  • 杭州短视频培训学校/sem优化服务公司
  • 网站建设预算明细表/广点通广告平台
  • php网站模块修改/网站建设步骤
  • 杭州化妆品网站建设/重庆seo网络营销
  • 58同城成都网站建设/免费网页制作平台
  • 网站开发市场规模/做网站比较好的公司有哪些
  • 做网站有包括哪些东西/整站优化加盟
  • 怎么引导做淘宝的客户做官方网站/无锡百度关键词优化
  • 宁夏网站建设中/seo百家论坛
  • 自己做网站 怎么赚钱/百度热榜排行
  • 0投资一天赚80/什么是seo关键词
  • 网站开发软硬件配置/百度seo权重
  • 做网站入门看什么书/个人网站如何优化关键词
  • wordpress博客非插件/优化大师手机版下载
  • 深圳找个做网站平台的/市场调研表模板
  • 邢台网站设计哪家专业/网站建设与管理就业前景
  • 学校建设网站/steam交易链接可以随便给别人吗
  • 登录自治区建设厅的网站查询/宁波网络推广seo软件
  • 北京网站建设学校/网站怎么提升关键词排名
  • 网站建设有哪些公司/sem技术培训
  • 合肥网站备案/百度推广官方电话
  • 网站后台显示不了/网络推广外包流程
  • 怎么做网站统计/厦门人才网官网招聘
  • Effective C++ 条款48:认识模板元编程
  • kafka的pull的依据
  • Django前后端交互实现用户登录功能
  • LeetCode 分类刷题:2962. 统计最大元素出现至少 K 次的子数组
  • 电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
  • IOMMU多级页表查找的验证