int main(int argc, char** argv) { /* Trie *trie = generate_trie(); lookup_trie(trie); */ Trie * trie = trie_new(); /* trie_insert(trie, "aa", "aa"); trie_insert(trie, "ab", "ab"); trie_insert(trie, "ac", "ac"); trie_insert(trie, "ba", "ba"); trie_insert(trie, "bb", "bb"); trie_insert(trie, "bc", "bc"); */ trie_insert(trie, "welcom", "welcom"); trie_insert(trie, "welcome", "welcome"); trie_insert(trie, "elcome", "elcome"); printf("-------------------------\n"); void *extension = NULL; trie_dfs(trie, str_callback, extension); return 0; }
void edd(struct ed_trie *dct,char *wrd,void (*prc)(char *,int)) { wrdlen=(int)strlen(wrd); strcpy(word,wrd); out=prc; for (int i=0;i<=wrdlen;++i) dct->ed[i]=i; trie_dfs(&dct->trie,ed); }
int main(int argc, char** argv) { /* Trie *trie = generate_trie(); lookup_trie(trie); */ Trie * trie = trie_new(); /* trie_insert(trie, "aa", "aa"); trie_insert(trie, "ab", "ab"); trie_insert(trie, "ac", "ac"); trie_insert(trie, "ba", "ba"); trie_insert(trie, "bb", "bb"); trie_insert(trie, "bc", "bc"); */ trie_insert(trie, "HTTP/1.", "HTTP/1."); trie_insert(trie, "HTTP/1.1 ", "HTTP/1.1 "); trie_insert(trie, "HTTP/1.0 ", "HTTP/1.0 "); trie_insert(trie, "HTTP/1.1 20", "HTTP/1.1 20"); trie_insert(trie, "HTTP/1.0 20", "HTTP/1.0 20"); trie_insert(trie, "HTTP/1.0 30", "HTTP/1.0 30"); trie_insert(trie, "HTTP/1.1 30", "HTTP/1.1 30"); trie_insert(trie, "HTTP/1.1 40", "HTTP/1.1 40"); merge_common_prefix_t *mcp = (merge_common_prefix_t *) malloc (sizeof(merge_common_prefix_t)); mcp->alpha_merge = 5; mcp->flag = 0; mcp->merge_substring = NULL; trie_dfs(trie, str_callback, NULL); printf("-------------------------\n"); trie_dfs(trie, trie_node_merge_callback, mcp); trie_dfs(trie, str_callback, NULL); return 0; }