C语言数据结构,急求在线二叉树先序中序后序递归遍历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言数据结构,急求在线二叉树先序中序后序递归遍历相关的知识,希望对你有一定的参考价值。
1.熟练掌握二叉树的二叉链表存储结构;二叉树的常用遍历方法:按层遍历、先序递归遍历、中序递归和非递归遍历、后序递归遍历。 2.掌握按先序遍历顺序输入数据,递归建立二叉树的方法。 写好的有问题,不会调试 #include <iostream.h> #include <stdio.h> #include <malloc.h> #define MaxNode 100 typedef struct node DataType data; struct node *lchild; struct node *rchild; BiTNode,BiTree; void CreateBiTree(Bitree *bt)//建立一个二叉树 char ch; ch=grtchar(); if (ch=='')*bt=NULL; else *bt=(Bitree)malloc(sizeof(BiTNode)): (*bt)->data=ch; CreateBiTree(&((*bt)->lchild))); CreateBiTree(&((*bt)->rchild))); void PreOrder(BiTree root)//前序遍历 if(root!=NULL) Visit(root->data); PreOrder(root->LChild); PreOrder(root->RChild); void InOrder(BiTree root)//中序遍历 if(root!=NULL) InOrder(root->LChild); Visit(root->data); InOrder(root->RChild); void LaOrder(BiTree root)//后序遍历 if(root!=NULL) PostOrder(root->LChild); PostOrder(root->RChild); Visit(root->data); void main() bitree *bt; printf("请输入数据:\n"); bt= NULL; bt = create(bt); //and here printf("\n 结果如下:\n"); printf("先序遍历的结果为:\n"); PreOrder(bt); printf("\n"); printf("中序遍历的结果为:\n"); InOrder(bt); printf("\n"); printf("后序遍历的结果为:\n"); LaOrder(bt);
参考技术A #include<iostream.h>
#include
<stdio.h>
#include
<malloc.h>
#define
MaxNode
100
typedef
char
DataType;
typedef
struct
node
DataType
data;
struct
node
*lchild;
struct
node
*rchild;
BiTNode,BiTree;
void
CreateBiTree(BiTree
*bt)//建立一个二叉树
char
ch;
//ch=getchar();
scanf("%c",&ch);
if
(ch=='
')
bt=NULL;
else
bt=(BiTree*)malloc(sizeof(BiTNode));
bt->data=ch;
CreateBiTree(bt->lchild);
CreateBiTree(bt->rchild);
void
PreOrder(BiTree
*root)//前序遍历
if(root!=NULL)
Visit(root->data);
PreOrder(root->lchild);
PreOrder(root->rchild);
void
InOrder(BiTree
*root)//中序遍历
if(root!=NULL)
InOrder(root->lchild);
Visit(root->data);
InOrder(root->rchild);
void
LaOrder(BiTree
*root)//后序遍历
if(root!=NULL)
PreOrder(root->lchild);
PreOrder(root->rchild);
Visit(root->data);
void
main()
BiTree
*bt;
printf("请输入数据:\n");
bt=
NULL;
CreateBiTree(bt);
//and
here
printf("\n
结果如下:\n");
printf("先序遍历的结果为:\n");
PreOrder(bt);
printf("\n");
printf("中序遍历的结果为:\n");
InOrder(bt);
printf("\n");
printf("后序遍历的结果为:\n");
LaOrder(bt);
有个Visit()函数
你没写!!
我只是改了语法错误!!
只剩那一个函数没定义
你定义下就没语法错误了!
!
二叉树先序中序后序遍历 递归与非递归 Python实现
以上是关于C语言数据结构,急求在线二叉树先序中序后序递归遍历的主要内容,如果未能解决你的问题,请参考以下文章