c语言创建并输出二叉树
来源:互联网 发布:mysql增删改查sql语句 编辑:程序博客网 时间:2024/05/21 05:44
二叉树的创建并输出,有标准的c语言版和加入c++引用的版本(因为数据结构教材多采用这种办法,相对c语言版的方便点)
c语言版的:
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct BTNode//定义结点类型{char data;struct BTNode *lchild;struct BTNode *rchild;}BTNode;void create(BTNode **p)//创建二叉树,输入'^'表示空{char a;a=getchar();//12^3^^4^^这样子输入if(a=='^')*p=NULL;else{*p=(BTNode *)malloc(sizeof(BTNode));(*p)->data=a;create(&((*p)->lchild));create(&((*p)->rchild));}return;}void output(BTNode *p)//先序输出二叉树的内容{if(p){printf("%c\n",p->data);output(p->lchild);output(p->rchild);}}int main()//主函数{BTNode *p=NULL;printf("please input data:");create(&p);output(p);return 0;}输入的时候务必注意,不能随意乱输入,要考虑树的结构.
下面是加入了c++的引用的版本:
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct BTNode//定义结点类型{char data;struct BTNode *lchild;struct BTNode *rchild;}BTNode;void create(BTNode *&p)//创建二叉树,输入'^'表示空{char a;a=getchar();//12^3^^4^^这样子输入if(a=='^')p=NULL;else{p=(BTNode *)malloc(sizeof(BTNode));p->data=a;create(p->lchild);create(p->rchild);}return;}void output(BTNode *p)//先序输出二叉树的内容{if(p){printf("%c\n",p->data);output(p->lchild);output(p->rchild);}}int main()//主函数{BTNode *p=NULL;printf("please input data:");create(p);output(p);return 0;}
0 0
- c语言创建并输出二叉树
- 创建二叉树,C语言实现
- c语言简单创建二叉树
- c语言二叉树创建及遍历
- C语言二叉树的创建
- C语言创建一个二叉树
- c语言的二叉树的创建
- 已知二叉树先序遍历,中序遍历创建二叉树并输出后序遍历
- C语言实现二叉查找树的输出
- 构造二叉树并输出
- C语言构造并递归遍历二叉树
- 【c语言】构建二叉树并前序遍历
- 二叉树创建、遍历、求深度--C语言实现
- 二叉树的创建与遍历(C语言实现)
- C语言二叉树创建、遍历、深度、叶子节点
- c语言二叉树简单创建与遍历
- 创建二叉树并遍历二叉树
- c语言编程:字符串反序并输出
- hdu 1505 City Game 1506的二维
- NYOJ 647 奋斗的小蜗牛在请客
- jQuery 参考手册 - 选择器 (.class.class)
- 黑马程序员 java 面试之交通信号灯
- cocos2dx 3.0 编译不过问题解决
- c语言创建并输出二叉树
- C++ Templates:深入模板基础
- uniDAC的安装
- 使用Xcode和Instruments调试解决iOS内存泄露
- 进程管理:fork与exec函数及fork子进程和父进程
- JS前台遍历所有文本框,验证是否为空
- JavaScript 编程思想 null undefined 的区别
- hibernate懒加载原理
- Dialog出错问题