Lines Matching refs:list
1 /* drmsl.c -- Skip list test
30 * This file contains a straightforward skip list implementation.n
47 static void print(void* list)
52 if (drmSLFirst(list, &key, &value)) {
55 } while (drmSLNext(list, &key, &value));
61 void *list;
71 list = drmSLCreate();
76 drmSLInsert(list, keys[i], NULL);
80 if (drmSLFirst(list, &key, &value)) {
86 } while (drmSLNext(list, &key, &value));
92 if (drmSLLookup(list, keys[i], &value))
101 printf("%0.2f microseconds for list length %d\n", usec, size);
104 drmSLDestroy(list);
109 static void print_neighbors(void *list, unsigned long key,
119 retval = drmSLLookupNeighbors(list, key,
138 void* list;
141 list = drmSLCreate();
142 printf( "list at %p\n", list);
144 print(list);
147 drmSLInsert(list, 123, NULL);
148 drmSLInsert(list, 213, NULL);
149 drmSLInsert(list, 50, NULL);
150 print(list);
153 print_neighbors(list, 0, 0, 50);
154 print_neighbors(list, 50, 0, 50);
155 print_neighbors(list, 51, 50, 123);
156 print_neighbors(list, 123, 50, 123);
157 print_neighbors(list, 200, 123, 213);
158 print_neighbors(list, 213, 123, 213);
159 print_neighbors(list, 256, 213, 256);
162 drmSLDelete(list, 50);
163 print(list);
166 drmSLDump(list);
167 drmSLDestroy(list);