数据结构与算法之——二叉树的创建及遍历
2017-03-08 19:17
465 查看
C语言二叉树的创建及遍历
创建与遍历都是是采用递归的思想在遍历的同时还输出了结点所在二叉树的层数
// ctest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<stdio.h> #include<stdlib.h> typedef struct BiTNode{ char data; struct BiTNode *lchild, *rchild; }BiTNode,*BiTree; //创建一棵二叉树 void createBiTree(BiTree *T){ char c; scanf("%c", &c); if (c == ' '){ *T = NULL; } else{ *T = (BiTNode*)malloc(sizeof(BiTNode)); (*T)->data = c; createBiTree(&(*T)->lchild); createBiTree(&(*T)->rchild); } } //输出结点以及该结点所在的层数 void visit(char c, int level){ printf("%c%d", c, level); } //前序遍历二叉树 void PreOrderTraverse(BiTree T,int level){ if (T){ visit(T->data, level); PreOrderTraverse(T->lchild, level + 1); PreOrderTraverse(T->rchild, level + 1); } } int main(){ int level = 1; BiTree T = NULL; createBiTree(&T); PreOrderTraverse(T, level); return 0; }
相关文章推荐
- 数据结构与算法——二叉树的创建与遍历
- C语言学习历程(十八) 数据结构二叉树的创建、遍历、深度等算法
- 数据结构和算法--二叉树创建和递归遍历
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)[整理]
- 程序员面试100题(算法)之二叉树中找出和为某一值的所有路径(含二叉树前序创建、遍历)
- 二叉树创建及遍历算法(递归及非递归)
- 一步一步复习数据结构和算法基础-层次建立层次遍历二叉树
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 算法源码之非递归创建/遍历二叉树
- 二叉树创建及遍历算法(递归及非递归)
- 数据结构与算法学习之二叉树的遍历:已知先序、中序、后序序列三者中的两种求另外一种遍历的算法
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 数据结构 二叉树 创建 遍历
- 二叉树创建及遍历算法(递归及非递归)