码迷,mamicode.com
首页 > 其他好文 > 详细

trie

时间:2019-07-30 21:54:42      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:pre   init   int   sea   i++   str   search   turn   oid   

struct trie {
    void insert1(char *str) {
        int len = strlen(str);
        int root = 0;
        for (int i = 0; i < len; i++) {
            int id = str[i] - ‘a‘;
            if (tree[root][id]) {
                tree[root][id] = ++tot;
            }
            root = tree[root][id];
        }
        flag[root] = 1;
    }

    bool search(char *str) {
        int len = strlen(str);
        int root = 0;
        for (int i = 0; i < len; i++) {
            int id = str[i] - ‘a‘;
            if (!tree[root][id]) {
                return 0;
            }
            root = tree[root][id];
        }
        return 1;
    }

    void init() {
        for (int i = 0; i < tot; i++) {
            flag[i] = 0;
            for (int j = 0; j < 10; j++) {
                tree[i][j] = 0;
            }
        }
        tot = 0;
    }
}

  

trie

标签:pre   init   int   sea   i++   str   search   turn   oid   

原文地址:https://www.cnblogs.com/Accpted/p/11272691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!