#include <stdlib.h> #include <Judy.h> main() // Simple JudyL demo, see "run_demo" script; @(#) $Revision: 4.4 $ { Pvoid_t Parray = (Pvoid_t) NULL; // empty JudyL array. Word_t * Pvalue; // value for one index. char line[BUFSIZ]; // input line. Word_t index; // in JudyL array. printf("Interactive Judy demo program to input, sort, and list numbers.\n" "Enter a number: "); // fflush(stdout); ? while (fgets(line, BUFSIZ, stdin)) // input. { index = strtoul(line, NULL, 0); // note: bad input => 0. JLI(Pvalue, Parray, index); // insert index in JudyL array. ++(*Pvalue); // count duplicates. printf(" Index Dups\n"); // print all saved indexes: index = 0; // start search at zero. JLF(Pvalue, Parray, index); // find first saved index. while (Pvalue != NULL) { printf("%12lu %5lu\n", index, *Pvalue); JLN(Pvalue, Parray, index); // find next saved index. } printf("Next: "); // fflush(stdout); ? } }