数据结构建树程序,C语言C++皆可

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:03:32
1.创建树,键盘输入屏幕输出

#include <stdio.h>
#include <stdlib.h>
#include<iostream.h>
#define maxnode 100
#define NULL 0
typedef char DataType; /*设数据域类型为字符型*/
typedef struct node{
DataType data;
struct node *lchild,*rchild; /*左右链域为指向结点结构的指针类型*/
}bintnode; /*结点类型*/
typedef bintnode *bintree; /*指向二叉树结点的指针类型*/
void createbintree(bintree *T); /*构造二叉链表*/
void Preorder(bintree T); /*先序*/
void inorderout(bintree T); /*中序*/
void Postorder(bintree T); /*后序*/
void LevelOrder(bintree T); /*按层次遍历二叉树T*/

/*以加入结点的先序序列输入,构造二叉链表*/
void createbintree(bintree *T)
{
char ch;
scanf("\n%c",&ch);
if(ch=='0')*T=NULL;
else
{
*T=(bintnode*)malloc(sizeof(bintnode));
(*T)->data=ch;
createbintree(&(*T)->lchild);
createbintree(&(*T)->rchild);
}

}

/*先序遍历二叉树T*/
void Preorder(bintree T)