关于struct
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
第四排那个struct里面还有一个struct是什么意思啊??求救求救!! 一个结构体里面内嵌了另外一个结构体 风过无痕丶 发表于 2018-10-31 11:13
一个结构体里面内嵌了另外一个结构体
具体什么用啊老哥??? 这个是为了实现双向链表,可以了解一下,单链表、双链表的知识(数据结构) remakejobs 发表于 2018-10-31 11:34
这个是为了实现双向链表,可以了解一下,单链表、双链表的知识(数据结构)
不,这个代码是二叉树里的。。 int *p 是什么?指向【int】的指针
struct BiTNode *lchild 是什么?指向【struct BiTNode】的指针
父节点 data0
左孩子 右孩子
data1 data2
... ... ... ... 我是一个结构体,我有一个数据元素,还有一个指针元素。
万万没想到,我的那个指针元素要指向一个和我一样类型的结构体变量。
风扫地 发表于 2018-10-31 12:36
我是一个结构体,我有一个数据元素,还有一个指针元素。
万万没想到,我的那个指针元素要指向一个和我一样 ...
似乎有点明白,可是这个里面那个结构体没有定义呀??
而且可以和外面的那个结构体重名? claws0n 发表于 2018-10-31 11:55
int *p 是什么?指向【int】的指针
struct BiTNode *lchild 是什么?指向【struct BiTNode】的指针
那跟第五排那个相当于别名一样的那两个有什么区别呀 用编程搞垮道盟 发表于 2018-10-31 15:49
那跟第五排那个相当于别名一样的那两个有什么区别呀
二叉树 4
6 2
7 5 3 1
8
typedef 不建议写两个,需要指针的话,多加一个星号就好
BiTNode *root;
root = (BiTNode *)malloc(sizeof(BiTNode));
root->data = 4;
root->lchild = NULL;
root->rchild = NULL;
添加新元素 6
BiTNode *p, *r;
r = root;
p = (BiTNode *)malloc(sizeof(BiTNode));
p->data = 6;
p->lchild = NULL;
p->rchild = NULL;
.... 一些比较之后,新元素要放到根节点的左孩子
r->lchild = p;
这样的结构一直在重复,但最小单元就是【一个元素、两个指针】,所以被包装成结构体
页:
[1]