首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

还有两天就要交了,希望有人可以帮助小弟我一下啊

2013-08-09 
还有两天就要交了,希望有人可以帮助我一下啊。树和二叉树是两种不同的数据结构,树实现起来比较麻烦,二叉树

还有两天就要交了,希望有人可以帮助我一下啊。
树和二叉树是两种不同的数据结构,树实现起来比较麻烦,二叉树实现起来比较容易,因此可以通过把树转换为二叉树进行处理,处理完后在从二叉树还原为树。树和二叉树的定义及转换请参考(清华版数据结构(c),西安交大版数据结构(c))
要求:a:实现树与二叉树的相互转换;
b:树的前序、后序的递归遍历;
c:包含树的创建。
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <windows.h>
#define MAX_TREE_SIZE 100

//树的双亲表示结点结构定义
typedef struct
{
    int data;
    int parent;

} PTNode;

//双亲表示法树
typedef struct
{
    PTNode node[MAX_TREE_SIZE];
    int count;
} PTree;

//树的孩子兄弟表示结点结构定义
typedef struct node
{
    int data;
    struct node *firstchild;
    struct node *rightsib;
} BTNode,*BTree;


//初始化树(双亲表示法)
void init_ptree(PTree *tree)
{
    tree->count=-1;
}


//初始化树的结点(孩子兄弟表示法)
BTNode GetTreeNode(int x)
{
    BTNode t;
    t.data=x;
    t.firstchild=t.rightsib=NULL;
    return t;
}


大神是不做作业的
[解决办法]
清华版数据结构(c)严太太这本书上有非递归遍历源代码!
你改巴改巴接口(参数)就能使

热点排行
Bad Request.