套模板就好了
#include<iostream>
#include<cstdio>
using namespace std;
#define NULL 0
const int num_chars = 26;
struct Trie_node{
int data;
Trie_node* branch[num_chars];
Trie_node(){
data = NULL;
for (int i = 0; i < num_chars; i++){
branch[i] = NULL;
}
}
};
Trie_node* root = new Trie_node;
int insert(char* word){
int result = 1,code;
Trie_node* location = root;
char* sword = word;
while (location != NULL && *sword != '\0'){
code = *sword - 'a';
if (location->branch[code] == NULL){
location->branch[code] = new Trie_node;
}
location = location->branch[code];
location->data++;
sword++;
}
if (*sword == '\0'){
return 1;
}
return 0;
}
int search(char* word){
int code, result = 1;
Trie_node* location = root;
char* sword = word;
while (location != NULL && *sword != '\0'){
code = *sword - 'a';
if (location->branch[code] == NULL){
return 0;
}
location = location->branch[code];
sword++;
}
if (*sword != '\0'){
return 0;
}
return location->data;
}
int main(){
// freopen("TestDate.txt", "r", stdin);
char s[12];
while (gets(s) && s[0]){
insert(s);
}
while (gets(s)){
cout << search(s) << endl;
}
return 0;
}