本文共 879 字,大约阅读时间需要 2 分钟。
题意:给定N个单词的字典,输出N个单词和这N个单词的确定字符串。
#include #include #include #include #include #include #include using namespace std;struct Trie //字典树结构{ Trie *child[26]; int num; //记录该字母的出现次数 Trie() //构造函数 { num=0; memset(child,0,sizeof(child)); }};Trie *root,*s;void Create(char *str) //插入单词{ s=root; int i=0; while(str[i]) { int id=str[i]-'a'; if(s->child[id]==0) //如果该字母还没有出现在字典中 { s->child[id]=new Trie; s=s->child[id]; } else { s=s->child[id]; s->num++; } i++; }}void Search(char *str){ s=root; for(int i=0;i child[id]; printf("%c",str[i]); if(s->num==0) break; //如果该字母只出现了一次 } printf("\n");}char a[1002][30];int main(){ int i=0,j; root=new Trie; while(~scanf("%s",a[i])) { Create(a[i]); i++; } for(j=0;j
转载于:https://www.cnblogs.com/A-way/archive/2013/04/24/3040597.html