二叉树ADT 基本操作

用结构体来定义二叉树中的指针域,二叉树的头结点与数据域也可以用结构体实现。

二叉树的重点操作是定位,下面我们看一下定位操作:

定位的关键技巧:

1.利用二进制中的0和1分别表示left和right;

2.位运算是实现指路法的基础。

至此,我们就可以来实现二叉树的相关操作了,上代码。

首先定义相关结构体及其他变量

#define BT_LEFT 0            //  左边
#define BT_RIGHT 1           //  右边
// 定义新数据类型,用于封装函数
typedef void BTree;
typedef unsigned long long BTPos;
// 定义二叉树左右指针结构体
typedef struct _tag_BTreeNode BTreeNode;
struct _tag_BTreeNode
{
    BTreeNode* left;         // 二叉树左结点指针
    BTreeNode* right;        // 二叉树右结点指针

猜你喜欢

转载自blog.csdn.net/qq_38998213/article/details/103429074