隐藏页面特效

数据结构复习代码——递归实现二叉树的定义以及创建

1、递归实现二叉树的定义以及创建

#include<stdio.h> #include<assert.h> #include<malloc.h> #define ElemType char typedef struct BinTreeNode { ElemType data; struct BinTreeNode *leftchild; struct BinTreeNode *rightchild; }BinTreeNode; typedef struct BinTree { BinTreeNode *root; ElemType refvalue; }BinTree; void InitBinTree(BinTree *bt,ElemType ref) { bt->root = NULL; bt->refvalue = ref; } //创建二叉树 void CreateBinTree_1(BinTree *bt, BinTreeNode **t) { ElemType item; scanf("%c",&item); if(item == bt->refvalue) (*t) = NULL; else{ (*t) = (BinTreeNode*)malloc(sizeof(BinTreeNode)); assert((*t) != NULL); (*t)->data = item; CreateBinTree_1(bt,&((*t)->leftchild)); CreateBinTree_1(bt,&((*t)->rightchild)); } } void CreateBinTree_1(BinTree *bt) { CreateBinTree_1(bt,&(bt->root)); } void CreateBinTree_2(BinTree *bt, BinTreeNode *&t) { ElemType item; scanf("%c",&item); if(item == bt->refvalue) t = NULL; else{ t = (BinTreeNode*)malloc(sizeof(BinTreeNode)); assert(t != NULL); t->data = item; CreateBinTree_2(bt,t->leftchild); CreateBinTree_2(bt,t->rightchild); } } void CreateBinTree_2(BinTree *bt) { CreateBinTree_2(bt,bt->root); } int main() { BinTree mytree; InitBinTree(&mytree,'#'); CreateBinTree_2(&mytree); return 0; }

 


__EOF__

本文作者往心。
本文链接https://www.cnblogs.com/lx06/p/16444241.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   往心。  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示