コード例 #1
0
ファイル: merge_common_prefix.c プロジェクト: sangyf/klcs
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;
}
コード例 #2
0
ファイル: edd.c プロジェクト: dongyx/edd
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);
}
コード例 #3
0
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;
}