本文主要是介绍寒假集训——字典树(模板),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
struct node
{int v;node *next[26];
} T[1000000];
int t=0;
node *newnode()
{node *p=new node;//动态分配//node *p=&T[t++];//静态分配p->v=0;for(int i=0; i<26; i++)p->next[i]=NULL;return p;
}
void insertnode(node *root,char *str)//插入
{node *p=root;int l=strlen(str);for(int i=0; i<l; i++){int t=str[i]-'a';if(p->next[t]==NULL)p->next[t]=newnode();p=p->next[t];}p->v=1;
}
int find(node *root,char *str)//查找
{node *p=root;int l=strlen(str);for(int i=0; i<l; i++){int t=str[i]-'a';if(p->next[t]==NULL)return 0;p=p->next[t];}return p->v;
}
void freenode(node *root)//释放内存
{node *p=root;for(int i=0; i<26; i++)if(p->next[i]!=NULL)freenode(p->next[i]);free(p);
}
这篇关于寒假集训——字典树(模板)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!