//用类,或者结构体定义都行 class trie { public: trie* next[26]; int num; int value; trie() { for(int i=0;i<26;i++) next[i]=0; value=0;//记录是不是一个单词 num=0;//记录单词出现的次数 } }root; //插入: void insert(trie* p,char* s) { p=&root; int k=0; while(s[k]!='\0') { if(!p->next[s[k]-'a']) p->next[s[k]-'a']=new trie; p=p->next[s[k]-'a']; p->num++; k++; } p->value=1; } //查找 int find(trie* p,char* s) { p=&root; int k=0; while(s[k]!='\0'&&p->next[s[k]-'a']) { p=p->next[s[k]-'a']; k++; } if(s[k]=='\0') return p->num; return 0; }Trie模板