struct node{
int next[MAX];
bool end;//标记单词结束位置
}tree[M*N];//单词数*单词最大长度
int pi=1;//申请空间
void insert(char *keyword){
int index,i,p;
for(i=0,p=0;keyword[i];i++){
index=keyword[i]-'a';
if(!tree[p].next[index])
tree[p].next[index]=pi++;
p=tree[p].next[index];
}
tree[p].end=1;
}
bool query(char *keyword){
int index,i,p;
for(i=0,p=0;keyword[i];i++){
index=keyword[i]-'a';
if(!tree[p].next[index])
return 0;
p=tree[p].next[index];
}
if(tree[p].end)
return 1;
return 0;
}
字典树
最新推荐文章于 2024-08-20 23:02:50 发布