Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.70 KB | None | 0 0
  1. // Helper function called by printTrie()
  2. void printTrieHelper(TrieNode *root, char *buffer, int k)
  3. {
  4.     int i;
  5.  
  6.     if (root == NULL)
  7.         return;
  8.  
  9.     if (root->count > 0)
  10.         printf("%s (%d)\n", buffer, root->count);
  11.  
  12.     buffer[k + 1] = '\0';
  13.  
  14.     for (i = 0; i < 26; i++)
  15.     {
  16.         buffer[k] = 'a' + i;
  17.  
  18.         printTrieHelper(root->children[i], buffer, k + 1);
  19.     }
  20.  
  21.     buffer[k] = '\0';
  22. }
  23.  
  24. // If printing a subtrie, the second parameter should be 1; otherwise, 0.
  25. void printTrie(TrieNode *root, int useSubtrieFormatting)
  26. {
  27.     char buffer[1026];
  28.  
  29.     if (useSubtrieFormatting)
  30.     {
  31.         strcpy(buffer, "- ");
  32.         printTrieHelper(root, buffer, 2);
  33.     }
  34.     else
  35.     {
  36.         strcpy(buffer, "");
  37.         printTrieHelper(root, buffer, 0);
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement