首页 > 代码库 > 数据结构模板
数据结构模板
Trie树模板:
const int maxm = 31000; struct Trie { int numptr; struct Node { Node* son[26]; int ptr; void init() { CLR(son, (int)NULL); ptr = -1; } } s[maxm], root; void init() { numptr = 0; root.init(); } void ins(char *ch, int z) { Node* ptr = &root; for(int i = 0; ch[i] != 0; i++) { int x = ch[i] - 'a'; if(ptr->son[x] == NULL) { s[numptr].init(); ptr->son[x] = &s[numptr++]; } ptr = ptr->son[x]; } ptr->ptr = z; } int find(char *ch) { Node *ptr = &root; for(int i = 0; ch[i] != 0; i++) { int x = ch[i] - 'a'; if(ptr->son[x] == NULL) { return -1; } ptr = ptr->son[x]; } return ptr->ptr; } } trie;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。