//
// BTreeLink1.c
// tree
//
// 二叉树(链表)(递归)
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTree;
//二叉树的先序遍历
void PreOrderTraverse(BiTree* T){
if(T==NULL)
return ;
printf("%c ",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
//二叉树的中序遍历
void InOrderTraverse(BiTree* T){
if(T==NULL)
return ;
InOrderTraverse(T->lchild);
printf("%C ",T->data);
InOrderTraverse(T->rchild);
}
//二叉树的后后序遍历
void PostOrderTraverse(BiTree* T){
if(T==NULL)
return;
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf("%c ",T->data);
}
//创建一个二叉树
BiTree * CreateBiTree(){
BiTree *T;
char ch=0;
printf("print ");
scanf("%c",&ch);
if(ch=='#'){
T=NULL;
二叉树(链表):先序中序后序遍历非递归形式
最新推荐文章于 2022-12-06 20:03:01 发布
本文探讨了如何使用非递归方式实现二叉树的先序、中序和后序遍历。通过链表数据结构,详细解析每个遍历过程的关键步骤,帮助理解算法原理。
摘要由CSDN通过智能技术生成