红联Linux门户
Linux帮助

linux下的二叉树

发布时间:2007-07-26 21:19:44来源:红联作者:JulyOecber
轮子还是自己造的好,不过借用一下别人的也不错。

linux下提供了用二叉树进行搜索的实现。

以下是接口定义:

#include

void *tsearch(const void *key, void **rootp,
int(*compar)(const void *, const void *));

void *tfind(const void *key, const void **rootp,
int(*compar)(const void *, const void *));

//返回树内部的节点指针,tsearch 没找到key就插入节点,tfind没找到key就返回NULL

//对于返回的节点指针pt,*(**pt)就是void *key了,不能直接引用pt

void *tdelete(const void *key, void **rootp,
int(*compar)(const void *, const void *));

void twalk(const void *root, void(*action)(const void *nodep,
const VISIT which,
const int depth));

//depth为当前节点的深度,0 表示为根节点。

#define _GNU_SOURCE
#include

void tdestroy (void *root, void (*free_node)(void *nodep));
文章评论

共有 0 条评论