数据结构中链表:
struct A {
A* next;
int data;
}
链表的结构体中,存在一个指向自身的指针。而当结构体中存在两个指向自身的指针时,链表变成了二叉树
struct A{
A* left;
A* right;
int data;
}
二叉树中两个指针可以用二级指针来替换
struct A{
A** next;
int arraycount;
int data;
}
其中的二级指针,需要一个具体的描述比如arraycount=2,代表二级指针指向的一个长度为2的数组,或者
struct A{
A** next;
A* list;
int data;
}
二级指针指向一个list链表,当arraycount>2或者list长度大于2时,二叉树编程了多叉树。
注释:二级指针,指向指针的指针,所以如果要在堆中创建指针,需要new或者malloc两次来构造两个指针,指向最终的数据。