int Insert(char *en,char *mar);
int Search(char *mar);
struct Trie
{
char *en;
Trie *node[N];
};
Trie *root;
int Insert(char *en,char *mar)
{
Trie *temp=root;
Trie* p=root;
while(temp!=NULL&&*mar!='\0')
{
int temp_int=*mar-'a';
if(temp->node[temp_int]==NULL)
{
p=(Trie*)malloc(sizeof(Trie));
p->en=NULL;
for(int i=0;i<N;i++)
p->node[i]=NULL;
temp->node[temp_int]=p;
}
temp=temp->node[temp_int];
mar++;
}
temp->en=new char[strlen(en)+1];
strcpy(temp->en,en);
return 1;
}
int Search(char *mar)
{
Trie *temp=root;
Trie* p=root;
while(temp!=NULL&&*mar!='\0')
{
int temp_int=*mar-'a';
temp=temp->node[temp_int];
mar++;
}
if(temp!=NULL && temp->en!=NULL){
cout<<temp->en;
return 1;
}
return 0;
}