Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. struct Node{
  2. int next[26];
  3. int term;
  4. Node(){
  5. term = -1;
  6. for (int i = 0; i < 26; i++)
  7. next[i] = -1;
  8. }
  9. };
  10.  
  11. vector <Node> trie;
  12.  
  13. int root = 0;
  14.  
  15. void add(string & s, int id){
  16. int cur = root;
  17. for (int i = 0; i < s.length(); i++){
  18. int c = s[i] - 'a';
  19. if (trie[cur].next[c] == -1){
  20. trie[cur].next[c] = trie.size();
  21. trie.push_back(Node());
  22. }
  23. cur = trie[cur].next[c];
  24. }
  25. trie[cur].term = id;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement