/*
*孩子兄弟法创建树(不是二叉树)
*先输入长子节点再输入孩子节点
*用树的遍历去实现类似二叉树的遍历
*使用创建链式二叉树的方法创建孩子兄弟树
*/
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define MAXSIZE 255
static int id=0;
typedef struct //数据的结构体
{
int id;
char name[MAXSIZE];
}ElementType;
typedef struct cbtree
{
ElementType data;
struct cbtree *firstchilld;//长子节点
struct cbtree *nextsibling;//兄弟节点
}CbTree;//树节点结构体
int createcbtree(CbTree*node);//创建树(孩子兄弟法)
void initcbtree(CbTree*tree);//初始化树
void testcbtree();//测试函数
void preordercbtree(CbTree*node);//前序遍历
void main()
{
testcbtree();//测试函数
}
void initcbtree(CbTree*tree)//初始化树
{
tree->firstchilld=NULL;//初始化空树的长子节点 为创建孩子节点空间 做前提
tree->nextsibling=NULL;
}
void testcbtree()//测试函数
{
CbTree*tree;
tree=(CbTree*)malloc(sizeof(CbTree));
if(tree!=NULL)
{
initcbtree(tree);
printf("请输入根节点的数据:\n");
createcbtree(tree);
printf("前序遍历的结果为;\n");
p