链式二叉树
来源:互联网 发布:js 获取 鼠标位置 编辑:程序博客网 时间:2024/05/29 04:24
#include <stdio.h>#include <malloc.h>struct BTNODE{int data;struct BTNODE *pLeftChild;struct BTNODE *pRightChild;};struct BTNODE * creatBTnode(void);void prTraverseBT(struct BTNODE *);void miTraverseBT(struct BTNODE *);void laTraverseBT(struct BTNODE *);int main(void){struct BTNODE *p = creatBTnode(); printf("前序遍历结果:\n"); prTraverseBT(p);printf("中序遍历结果:\n"); miTraverseBT(p);printf("后序遍历结果:\n"); laTraverseBT(p);return 0;}struct BTNODE * creatBTnode(void){BTNODE *A = (struct BTNODE *)malloc(sizeof(BTNODE));BTNODE *B = (struct BTNODE *)malloc(sizeof(BTNODE));BTNODE *C = (struct BTNODE *)malloc(sizeof(BTNODE));BTNODE *D = (struct BTNODE *)malloc(sizeof(BTNODE));BTNODE *E = (struct BTNODE *)malloc(sizeof(BTNODE));BTNODE *F = (struct BTNODE *)malloc(sizeof(BTNODE));A->data = 'A';A->pLeftChild = B;A->pRightChild = E;B->data = 'B';B->pLeftChild = C;B->pRightChild = D;C->data = 'C';C->pLeftChild = C->pRightChild = NULL;D->data = 'D';D->pLeftChild = D->pRightChild = NULL;E->data = 'E';E->pLeftChild = NULL;E->pRightChild = F;F->data = 'F';F->pLeftChild = F->pRightChild = NULL;return A;}void prTraverseBT(struct BTNODE *bt){if(bt != NULL){printf("%c\n",bt->data);if(bt->pLeftChild != NULL){prTraverseBT(bt->pLeftChild);//printf("%c\n",bt->pLeftChild->data); 这个加了是多余的。。。。 }if(bt->pRightChild != NULL){prTraverseBT(bt->pRightChild);//printf("%c\n",bt->pRightChild->data); 一直调试错误 }}}void miTraverseBT(struct BTNODE *bt){if(bt != NULL){if(bt->pLeftChild != NULL){miTraverseBT(bt->pLeftChild);}printf("%c\n",bt->data);if(bt->pRightChild != NULL){miTraverseBT(bt->pRightChild);}}}void laTraverseBT(struct BTNODE *bt){if(bt != NULL){if(bt->pLeftChild != NULL){laTraverseBT(bt->pLeftChild);}if(bt->pRightChild != NULL){laTraverseBT(bt->pRightChild);}printf("%c\n",bt->data);}}
0 0
- 练习--链式二叉树
- 链式二叉树
- 链式二叉树
- 链式二叉树
- 二叉树链式结构
- 链式二叉树
- 链式二叉树
- 二叉树存储-链式
- 二叉树链式存储
- 链式二叉树
- 链式二叉树
- 链式二叉树
- 链式二叉树
- 二叉树的链式存储
- 链式静态二叉树练习
- 链式二叉树代码示例
- 链式二叉树基本构造
- 链式静态二叉树遍历
- IOS多线程编程之三种实现方式NSThread、NSOperation、Grand Central Dispatch
- LeetCode-Search a 2D Matrix
- sysfs和/sys,补充设备模型知识
- vector对象的定义和初始化
- Linux如何卸载程序
- 链式二叉树
- Windows系统的消息
- 调用应用服务器的接口
- 手机访问pc网站自动跳转手机端网站代码
- 面向对象OC之封装浅谈
- HTTP框架
- Caffe Windows版本的编译
- ZooKeeper使用--分布式锁
- 检验和算法