C++模板:字典树

时间:2021-12-17 08:58:48
//插入
void insert(char *s,char *s1){
for(int l=strlen(s),x=0,i=0;i<l;i++){
if(!trie[x].son[s[i]-'a'])trie[x].son[s[i]-'a']=++cnt;
x=trie[x].son[s[i]-'a'];
if(i==l-1)strcpy(trie[x].hash,s1);
}
} //查找
int find(char *s){
for(int l=strlen(s),x=0,i=0;i<l;i++){
if(!trie[x].son[s[i]-'a'])return 0;
x=trie[x].son[s[i]-'a'];
if(i==l-1){
strcpy(ans,trie[x].hash);
return strlen(ans)?1:0;
}
}
}