首页 > 其他 > 详细

字典树模板

时间:2016-07-30 10:34:04      阅读:119      评论:0      收藏:0      [点我收藏+]
 1 ///字典树模板
 2 struct f
 3 {
 4     int next[30];
 5     int v;
 6     char englishi[15];
 7     void ff()
 8     {
 9         memset(next,-1,sizeof(next));
10         v=0;
11         englishi[0]=\0;
12     }
13 };f s [1000000];
14 int cut=0;
15 ///插入函数
16 void charu(char *s1,char *s2)
17 {
18     int i,k=0,su;
19     for (i=0;s2[i]!=\0;i++)
20     {
21         su=s2[i]-a;
22         if (s[k].next[su]==-1)
23         {
24             cut++;
25             s[k].next[su]=cut;
26             s[cut].ff();
27         }
28         k=s[k].next[su];
29     }
30     s[k].v=1;
31     strcpy(s[k].englishi,s1);
32     return ;
33 }
34 ///查找函数
35 int find(char *s1)
36 {
37     int i,k=0,su;
38     for (i=0;i<strlen(s1);i++)
39     {
40         su=s1[i]-a;
41         if (s[k].next[su]==-1) break;
42         k=s[k].next[su];
43     }
44     if (s[k].v&&s[k].englishi[0]!=\0&&i==strlen(s1))
45     {
46         printf("%s",s[k].englishi);
47         return 0;
48     }
49     return 1;
50 }

 

字典树模板

原文:http://www.cnblogs.com/pblr/p/5720260.html

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