示例#1
0
void printSteps(Trie tr, char *str){
  printf("%s\n", str);
  int len = lenInTrie(&tr, str);
  char *next = str;

  while(len > 0){
    next = findInTrie(&tr, next);
    len = lenInTrie(&tr, next);
    printf("%s\n", next);
  }
}
示例#2
0
文件: trie.c 项目: fmccabe/l-and-o
void *findInTrie(char *key, triePo trie) {
  if (trie == NULL)
    return NULL;
  else if ((*key) == '\0')
    return trie->value;
  else if (trie->follows != NULL) {
    long K = *key;
    triePo next = (triePo) hashGet(trie->follows, (void *) K);
    if (next != NULL)
      return findInTrie(key + 1, next);
    else
      return NULL;
  } else
    return NULL;
}