先序序列建立二叉树并输出
来源:互联网 发布:多学科设计优化 编辑:程序博客网 时间:2024/04/28 14:13
C语言现存的一些关于先序建立二叉树的方法常有些纰漏,归根结底是因为,在子函数中用malloc函数申请的空间如果不能成功返回到主函数中,则建立失败,指针异常。
一般解决方法有:
1.使用指向指针的指针建立二叉树,此方法不便于在建立中递归调用,如果尝试可行会继续更新
2.子函数返回一个指向新申请的空间的指针变量
因此对于先序序列建立二叉树算法如下:
<span style="font-size:14px;">
#include<stdio.h>typedef struct bnode{ int data; struct bnode *lc, *rc;}bnode_type;int prosearch(bnode_type *root){ if(root!=NULL){ printf("%c\t",root->data); prosearch(root->lc); prosearch(root->rc); } return 0;}bnode_type* creat(bnode_type* root){ char s; scanf("%c",&s); if(s==' '){ root=NULL; } else{ root=(bnode_type*)malloc(sizeof(bnode_type)); root->data=s; root->lc=creat(root->lc); root->rc=creat(root->rc); } return root;}int main(){ bnode_type *p=NULL; p=creat(p); prosearch(p); return 0;}</span>
0 0
- 先序序列建立二叉树并输出
- 先序序列建立二叉树
- 先序遍历建立并输出二叉树(递归算法)
- 给定先序和后续,构造出一颗二叉树并输出中序序列
- 【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。
- 由先序和中序序列建立二叉树
- 先序序列建立一颗二叉树
- (十)先序序列建立和遍历二叉树
- 二叉树建立 先序 中序 后序输出
- 根据先序序列和中序序列建立树并求其后序序列
- 根据二叉树的先序序列和中序序列还原二叉树并打印后序序列
- 建立二叉树,并层次遍历输出
- 数据结构--二叉树--按给定的先序序列建立二叉链表(二叉树的存储)
- 先序扩展序列建立二叉树;先序、中序、后序遍历的递归算法(树)
- 由先序和中序遍历序列建立二叉树
- 先序,中序建立二叉树
- 二叉树的建立与先序,后序,中序输出
- 先序递归建立二叉树
- Girl_iOS100天学iOS的第九天(目录结构和单例)
- 砝码称重问题
- google map 心得
- The connection to adb is down, and a severe error has occured.
- buffer cache要求掌握的基础知识
- 先序序列建立二叉树并输出
- Flynn初探:基于Docker的PaaS平台
- hdoj 1249 三角形
- libev学习笔记(二)——ev_io
- 为你的电脑产生多个公钥密钥来给你的多个github或bitbucket等帐号配置ssh
- C++ 动态数组
- 学习高焕堂老师的 《简单的黑箱框架模式》笔记总结
- HDU 1026 Ignatius and the Princess I 【BFS(优先队列)+路径存储】
- 黑马程序员-变量的区域