标签:next span ott 表单 and class 第一个字符 include 多个
1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 7 struct trie 8 { 9 trie* next[26];//下一个结点 10 int num;//以当前字符串为前缀的数量 11 trie()//构造函数 12 { 13 int i; 14 for(i=0;i<26;i++) 15 next[i]=NULL; 16 num=0; 17 } 18 }; 19 20 trie root; 21 22 void insert(char word[]) 23 { 24 trie* r=&root; 25 int i; 26 for(i=0;word[i];i++) 27 { 28 if(r->next[word[i]-‘a‘]==NULL)//这个字符没有 29 r->next[word[i]-‘a‘]= new trie; 30 r=r->next[word[i]-‘a‘]; 31 r->num++; 32 } 33 } 34 35 int find(char word[]) 36 { 37 trie* r=&root; 38 int i; 39 for(i=0;word[i];i++) 40 { 41 if(r->next[word[i]-‘a‘]==NULL) 42 return 0; 43 r=r->next[word[i]-‘a‘]; 44 } 45 return r->num; 46 } 47 48 49 50 int main() 51 { 52 char word[15]; 53 while(gets(word)) 54 { 55 if(word[0]==NULL) 56 break; 57 insert(word); 58 } 59 while(gets(word)) 60 { 61 if(word[0]==NULL) 62 break; 63 printf("%d\n",find(word)); 64 } 65 return 0; 66 }
标签:next span ott 表单 and class 第一个字符 include 多个
原文地址:http://www.cnblogs.com/Annetree/p/7278244.html