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

南昌企业网站设计建设制作网站开发深

南昌企业网站设计建设制作,网站开发深,淘宝电子网站建设论文,建设信用卡手机银行官方网站设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树) #define _CRT_SECURE_NO_WARNINGS#inclu…

设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)

#define _CRT_SECURE_NO_WARNINGS#include <iostream>
using namespace std;typedef char ElemType;
#define ERROR 0
#define OK 1
#define STR_SIZE 1024
typedef struct BiTNode
{ElemType data;BiTNode* lchild, * rchild;
}BiTNode, * BiTree;void draw(BiTNode* root);bool Create_tree(BiTree& T)
{ElemType x = 0;cin >> x;if (x == '#'){T = NULL;}else{T = (BiTree)malloc(sizeof(BiTNode));if (T == NULL){cout << "内存无法分配!!!" << endl;return ERROR;}T->data = x;T->lchild = NULL;T->rchild = NULL;Create_tree(T->lchild);Create_tree(T->rchild);}return OK;
}void PreOrder(BiTree T)
{if (T != NULL){cout << T->data;PreOrder(T->lchild);PreOrder(T->rchild);}
}void InOrder(BiTree T)
{if (T != NULL){InOrder(T->lchild);cout << T->data;InOrder(T->rchild);}
}void PostOrder(BiTree T)
{if (T != NULL){PostOrder(T->lchild);PostOrder(T->rchild);cout << T->data;}
}
//---------------------------------核心代码---------------------------------//
void shuangxubianli(BiTree T)
{if (T == NULL){return;}cout << T->data;shuangxubianli(T->lchild);cout << T->data;shuangxubianli(T->rchild);
}
//---------------------------------核心代码---------------------------------//
/*设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍
历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)*/
//参考:https://www.bilibili.com/video/BV1n5411w72L/?spm_id_from=333.788&vd_source=efe4af6c91047f65ff265133037879f5
//ABC##D##EF##G##
int main(void)
{cout << "//------生成一颗树---------//" << endl;BiTree T = NULL;Create_tree(T);PreOrder(T);cout << endl;InOrder(T);cout << endl;PostOrder(T);cout << endl;cout << "//------生成一颗树---------//" << endl;cout << "//------原始树图形---------//" << endl;draw(T);shuangxubianli(T);//双序遍历操作return 0;
}//参考博客:https://blog.csdn.net/weixin_42109012/article/details/92250160
/*****************************************************************************
* @date   2020/4/19
* @brief  水平画树
* @param  node	二叉树节点
* @param  left	判断左右
* @param  str 	可变字符串
*****************************************************************************/
void draw_level(BiTNode* node, bool left, char* str) {if (node->rchild) {draw_level(node->rchild, false, strcat(str, (left ? "|     " : "      ")));}printf("%s", str);printf("%c", (left ? '\\' : '/'));printf("-----");printf("%c\n", node->data);if (node->lchild) {draw_level(node->lchild, true, strcat(str, (left ? "      " : "|     ")));}//  "      " : "|     " 长度为 6str[strlen(str) - 6] = '\0';
}/*****************************************************************************
* @date   2020/4/19
* @brief  根节点画树
* @param  root	二叉树根节点
*****************************************************************************/
void draw(BiTNode* root) {char str[STR_SIZE];memset(str, '\0', STR_SIZE);/*** 1. 在 windows 下,下面是可执行的* 2. 在 Linux   下,执行会报 Segmentation fault*      需要使用中间变量*/if (root->rchild) {draw_level(root->rchild, false, str);}printf("%c\n", root->data);if (root->lchild) {draw_level(root->lchild, true, str);}
}

在这里插入图片描述

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

相关文章:

  • wordpress给分类页加关键词网站推广优化趋势
  • 商城网站建设资讯wordpress导出导入
  • 做a视频网站wordpress 指定 任务
  • 一级a做爰片免费视频网站珠海在线网站建设
  • 1920的网站做字体大小wordpress添加文章分类二级
  • 建设银行手机不用了怎么登陆网站马化腾做的电商网站
  • 网站编辑怎么做的html5网站源码下载
  • wordpress 链接优化插件seo推广优化多少钱
  • 网站建设的研发支出费用化seo快速优化软件
  • 商城网站建设第一章个人网站的设计论文
  • 河南网站平台建设公司wordpress the
  • dw怎么切片做网站搭建 网站 模版
  • 正规的网站制作电话多少wordpress divi 2.5
  • 创建一个网站的步骤wordpress怎么设置邮箱
  • 云存储做网站wordpress基本插件
  • 常用网站设计缩略图易动力建设网站怎么样
  • 专业返利网站开发wordpress加百度广告代码出问题
  • 大连网络备案做网站xampp 查看wordpress模板
  • 中国招标投标网株洲seo优化首选
  • 刚做的网站怎么才能搜到我东庄水利枢纽建设公司网站
  • 网站开发要什么软件怎么利用互联网平台赚钱
  • 温州建站费用手机软件界面设计
  • 网站如何添加统计代码徐州市建设工程交易中心
  • 自贡网站推广哈尔滨网站建设哪家好
  • dede网站地图不显示文章列表佛山做网站制作
  • 蓬莱做网站那家好商标注册查询系统官网
  • 网站查外链石家庄的电商网站建设
  • 仿站小工具 wordpress荧光字网站
  • 专业网站建设86215辽宁省建设厅官方网站
  • 做纺织的用什么网站唐山seo推广