当前位置:文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > 非递归遍历二叉树(C语言版)
侵权投诉

非递归遍历二叉树(C语言版)

非递归遍历二叉树

#include<stdio.h>

#include<stdlib.h>

#define N 30

#define NULL 0

typedef struct BiTNode

{

int data; //数据域

struct BiTNode *lchild,*rchild;

}BiTNode,*BiTree;

//构造二叉树

void CreatBiTree(BiTree *T)

{

char n;

n=getchar();

if(n==' ') *T=NULL; //当左右结点为空时,输入空格 else

{

(*T=(BiTree)malloc(sizeof(BiTNode)));

{

(*T)->data=n; //生成根结点

CreatBiTree(&(*T)->lchild); //构造左子树 CreatBiTree(&(*T)->rchild); //构造右子树 }

}

}

typedef struct SqStack

{

BiTNode stack[N];

int top;

}SqStack;

//先序遍历二叉树

void PreOrderTraverse(SqStack S,BiTree T)

{

BiTree p;

BiTNode *a[N];

S.top=-1; //将栈置空

p=T; //初始化

do

{

while (p!=NULL)

第1页

免费下载Word文档免费下载:非递归遍历二叉树(C语言版)

(下载1-4页,共4页)

猜你喜欢

返回顶部