当密钥是字符串时,如何在AVL树中搜索,插入,删除节点

时间:2016-11-25 16:26:40

标签: c tree avl-tree

我有一个程序从文本文件中读取字符串,然后将它们存储在AVL树中,我还必须删除节点并从命令行插入新节点。 我理解当节点有整数作为键时,如何执行此操作,但我的是字符串。

我该如何解决这个问题?

typedef struct Node {
    int height;
    int count;
    char key[10];
    struct Node * left;
    struct Node * right;
} Node;

1 个答案:

答案 0 :(得分:0)

  

我理解当节点有整数作为键时,如何执行此操作,但我的   是字符串。

同样,你只需要改变比较函数(比较字符串而不是整数),如:

static int comp_by_key(const void *pa, const void *pb)
{
    const Node *a = pa, *b = pb;

    return strcmp(a->key, b->key);
}