首页 > 其他 > 详细

字典树模板(HDU1251)

时间:2015-01-05 14:53:12      阅读:231      评论:0      收藏:0      [点我收藏+]
struct node{
    int Count;
    node *next[26];
    node(){  //初始化数据
        memset(next,NULL,sizeof(next));
        Count=0;
    }
};
node *p,*root=new node();
void Insert(char *s)//插入新单词
{
    int i,k;
    for(p=root,i=0;s[i];++i)
    {
        k=s[i]-'a';
        if(p->next[k]==NULL) p->next[k]=new node();
        p=p->next[k];
        p->Count++;  //记录此字母出现的次数
    }
}
int Search(char *s)
{
    int i,k;
    for(p=root,i=0;s[i];++i)
    {
        k=s[i]-'a';
        if(p->next[k]==NULL) break; //一旦查找不到,立即跳出
        p=p->next[k];
    }
    if(s[i]) return 0;//s[i]!=0表示中间
    return p->Count;
}

字典树模板(HDU1251)

原文:http://blog.csdn.net/u013445530/article/details/42422409

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!