C语言实现二叉树的前序遍历(递归)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言实现二叉树的前序遍历算法实现一:#includestdio.h#includestdlib.htypedefstructBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;voidCreateBiTree(BiTree&T)//前序创建树{charch;scanf(%c,&ch);if(ch=='')T=NULL;else{T=(structBiTNode*)malloc(sizeof(structBiTNode));T-data=ch;CreateBiTree(T-lchild);CreateBiTree(T-rchild);}}intprint(BiTreeT)//前序遍历(输出二叉树){if(T==NULL)return0;elseif(T-lchild==NULL&&T-rchild==NULL)return1;elsereturnprint(T-lchild)+print(T-rchild);}voidmain()//主函数{BiTreeT;CreateBiTree(T);printf(%d\n,print(T));}算法实现二:#includestdio.h#includestdlib.hstructBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;};intnum=0;voidCreatBiTree(structBiTNode*&p)//前序创建树{charch;scanf(%c,&ch);if(ch=='')p=NULL;else{p=(structBiTNode*)malloc(sizeof(structBiTNode));p-data=ch;CreatBiTree(p-lchild);CreatBiTree(p-rchild);}}voidprint(structBiTNode*p)//前序遍历(输出二叉树){if(p!=NULL){if(p-lchild==NULL&&p-rchild==NULL)else{print(p-lchild);print(p-rchild);}}}voidmain()//主函数{structBiTNode*p;CreatBiTree(p);print(p);printf(%d\n,num);}供测试使用的数据前序创建二叉树中序后序/*ABDC*/BDACDBCA/*ABCDEFG*/CBDAFEGCDBFGEA

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功