数据结构与算法之——二叉树的创建及遍历

    xiaoxiao2021-03-25  150

    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; }
    转载请注明原文地址: https://ju.6miu.com/read-5201.html

    最新回复(0)