poj2001字典树

来源:互联网 发布:优化相机 编辑:程序博客网 时间:2024/06/05 02:34
#include <cstdio>#include <cstring>using namespace std;typedef char st[22];st str[20003];st s;int p=0;struct tree_node{    int count;    tree_node *next[26];}root ,node[20003];void insert(char *word){  tree_node *location=&root;  while (*word)  {      if (location ->next[*word-'a']==NULL)      {          node[p].count=0;          location->next[*word-'a']=&node[p++];      }      location =location->next[*word-'a'];      location->count++;      word++;  }}void search(char *word){tree_node *location=&root;    while (*word&&location)    {        if (location->count ==1) break;        printf("%c",*word);        location=location->next[*word-'a'];        word++;    }    printf("%\n");    return;}int main(){    int i=0;    while (scanf("%s",str[i])!=EOF)    {        insert(str[i]);        i++;    }    int n=i;    for (i=0;i<n;i++)    {    printf("%s ",str[i]);    search(str[i]);    }    return 0;}
0 0
原创粉丝点击