Lang:GCC
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#define MAX 26#define bool int#define false 0#define true !falsetypedef struct TrieNode //Trie结点声明{int strCount; //标记该结点处是否构成单词struct TrieNode * next[MAX]; //儿子分支}Trie;void insert(Trie *root,const char *s) //将单词s插入到字典树中{if(root==NULL||*s=='\0')return;int i;Trie *p=root;while(*s!='\0'){if(p->next[*s-'a']==NULL) //如果不存在,则建立结点{Trie *temp=(Trie *)malloc(sizeof(Trie));for(i=0;i<MAX;i++){temp->next[i]=NULL;}temp->strCount = 0;p->next[*s-'a'] = temp;p=p->next[*s-'a'];