小编Cra*_*aig的帖子

插入在C中使用void*的二叉树

我必须使用结构创建一个二叉树,如下所示:

struct treenode;
typedef struct treenode* TreeNode;
struct treenode {
 void* data;
 TreeNode left, right;
};
Run Code Online (Sandbox Code Playgroud)

使用void*作为要存储在每个叶子上的数据的类型,以便可以将任何类型的对象插入到树中.

当我插入一个新的叶子时,我必须使用一个比较函数,它检查新叶子中的数据是否已经在树中,这需要两个void*参数,例如:

int compare(void* a, void* b){
..
..
}
Run Code Online (Sandbox Code Playgroud)

但如果我不知道它们是什么类型,我如何比较这两个对象呢?

解决这个问题的一些代码会非常有用.

c binary-tree insert

0
推荐指数
1
解决办法
862
查看次数

标签 统计

binary-tree ×1

c ×1

insert ×1