树的遍历
来源:互联网 发布:mac安装tomcat 编辑:程序博客网 时间:2024/06/07 05:32
#include <stdio.h>#include <stdlib.h>#include <memory.h>//二叉链表示法struct _bitTree{ int data; struct _bitTree * lchild, *rchild;};typedef struct _bitTree BiTNode;typedef struct _bitTree* BiTreee;/*先序遍历*/void preOrder(BiTNode * root){ /*先根节点*/ if (root == NULL) { return; } printf("%d", root->data); /*遍历左子树*/ preOrder(root->lchild); /*遍历右子树*/ preOrder(root->rchild);}/*中序遍历*/void inOrder(BiTNode * root){ if (root == NULL) { return; } /*遍历左子树*/ inOrder(root->lchild); /*根节点*/ printf("%d", root->data); /*遍历右子树*/ inOrder(root->rchild);}/*后序遍历*/void postOrder(BiTNode * root){ if (root == NULL) { return; } /*遍历左子树*/ postOrder(root->lchild); /*遍历右子树*/ postOrder(root->rchild); /*根节点*/ printf("%d", root->data);}int main(void){ BiTNode t1, t2, t3, t4, t5; memset(&t1, 0, sizeof(BiTNode)); memset(&t2, 0, sizeof(BiTNode)); memset(&t3, 0, sizeof(BiTNode)); memset(&t4, 0, sizeof(BiTNode)); memset(&t5, 0, sizeof(BiTNode)); t1.data = 1; t2.data = 2; t3.data = 3; t4.data = 4; t5.data = 5; t1.lchild = &t2; t1.rchild = &t3; t2.lchild = &t4; t3.lchild = &t5; preOrder(&t1); printf("pre \n"); inOrder(&t1); printf("in \n"); postOrder(&t1); printf("post \n"); system("pause"); return 0;}
阅读全文
0 0
- 二叉树的遍历(层遍历和深度遍历)
- 二叉树的前序中序后序遍历,非递归遍历 层次遍历
- 二叉树的先中后序遍历,递归遍历,非递归遍历
- 二叉树遍历-----前序后序迭代遍历的新思路
- 二叉树的遍历-按层次遍历
- 二叉树的遍历(递归遍历)
- 二叉树的遍历-层次遍历
- 树的遍历
- 六、 树的遍历
- 二叉树的遍历
- haffman树的遍历
- 二叉树的遍历
- 树的各种遍历
- 树的遍历
- 二叉树的遍历
- C++树的遍历
- Java树的遍历
- 树的简单遍历
- 【MySQL】MySQL存储引擎
- OpenLayers的API讲解(一)
- Gradle配置
- 01 标签
- 贪心算法之寻找最大数
- 树的遍历
- Windows程序设计 读书笔记(1)
- MySQL单机版安装
- 用java实现找出1-100之间的质数(两种方法)
- Maven项目配置spring时 出现Could not open ServletContext resource [/WEB-INF/applicationContext.xml]解决方案
- 死锁与活锁的区别,死锁与饥饿的区别
- hibernate配置文件简介
- 关于jquery模仿select下拉选项
- hdu 5239 区间平方 线段树区间更新