C语言数据结构孩子兄弟法创建树(非二叉树)

/*
*孩子兄弟法创建树(不是二叉树)
*先输入长子节点再输入孩子节点
*用树的遍历去实现类似二叉树的遍历
*使用创建链式二叉树的方法创建孩子兄弟树
*/

#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值