📄 trid_tree.h
字号:
#ifndef TRID_TREE_H
#define TRID_TREE_H
#include "head.h"
typedef struct node
{
int num; //标志是否出现, -1表示不存在 ,正数表示出现的位置
struct node* child[26]; //共26个字母
} node;
typedef struct trid_tree
{
int vexnum ; //出现的顶点总数
struct node* root; //字母树的根
}trid_tree;
int initNode(node* t);
//初始化结点
Status init_trid_tree(trid_tree* T);
//对字母树进行初始化
int insert(trid_tree* T,char* word);
//初始条件:字母树T存在,要插入的字符串存在
//操作结果:判断word是否已经在T中,在返回出现的位置,不在T中插入word,且返回出现的位置
int delete_node(trid_tree* T,char* word);
//初始条件:存在一棵字母树的根是t,和要删除的单词word
//操作结果:结点内存没有释放,就是把num值改为-1
void adjust_num(node* t,int xiabiao);
//初始条件:存在一棵字母树的根是t,和一个整数为xiabiao
//操作结果:把树t中所有t的num值大于xiabiao的,都分别减1
int find(trid_tree* T,char* word);
//初始条件:字母树T存在,要查找的字符串存在
//操作结果:判断word是否已经在T中,是返回在的位置,不在返回-1
void Traverse(node* t);
//初始条件:存在一棵字母树的根是t
//操作结果:深度优先遍历整棵字母树,输出num的值
Status destoryTree(trid_tree* T);
//初始条件:存在一棵字母树T,
//操作结果:销毁T这棵树
void delete_Tree(node* T);
//初始条件:存在一棵字母树的根是T
//操作结果:销毁了以T为根的那棵字母树
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -