我必须使用结构创建一个二叉树,如下所示:
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)
但如果我不知道它们是什么类型,我如何比较这两个对象呢?
解决这个问题的一些代码会非常有用.