Fourth update on iterators - HASHSET

This commit is contained in:
Leonardo committed 2019-05-14 23:22:52 -03:00
1 parent d3e7d64d2a
commit ae5241a6fb
9 files changed
+387 -143

No files matched your search

-3
View File
@@ -15,9 +15,6 @@ DEQUE_GENERATE(d, deque, static, int)
int main(int argc, char const *argv[])
{
size_t i;
int r;
// Initialize deque and add some elements
deque *d = d_new(10);
for (int i = 0; i < 10; i++)
+1 -3
View File
@@ -32,9 +32,7 @@ int intcmp(int a, int b)
int main(int argc, char const *argv[])
{
size_t i;
int k;
double v, varr[10] = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9};
double varr[10] = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9};
// Initialize hashmap and add some element
hmap *hm = hm_new(50, 0.9, intcmp, inthash);
+14 -13
View File
@@ -32,9 +32,6 @@ int intcmp(int a, int b)
int main(int argc, char const *argv[])
{
size_t i;
int r;
// Initialize hash set and add some elements
hset *hs = hs_new(10, 0.9, intcmp, inthash);
for (int i = 0; i < 10; i++)
@@ -47,26 +44,30 @@ int main(int argc, char const *argv[])
// Make the iterator go back and forward
for (int j = 0; j < 4; j++)
{
while (hs_iter_next(&iter, &r, &i))
printf("C[%2d] = %2d\n", i, r);
while (!hs_iter_end(&iter))
{
printf("C[%2d] = %2d\n", hs_iter_index(&iter), hs_iter_value(&iter));
hs_iter_next(&iter);
}
printf("\n");
while (hs_iter_prev(&iter, &r, &i))
printf("C[%2d] = %2d\n", i, r);
while (!hs_iter_start(&iter))
{
printf("C[%2d] = %2d\n", hs_iter_index(&iter), hs_iter_value(&iter));
hs_iter_prev(&iter);
}
printf("\n\n");
}
for (hs_iter_tostart(&iter); !hs_iter_end(&iter); /**/)
for (hs_iter_to_start(&iter); !hs_iter_end(&iter); hs_iter_next(&iter))
{
hs_iter_next(&iter, &r, &i);
printf("S[%2d] = %2d\n", i, r);
printf("S[%2d] = %2d\n", hs_iter_index(&iter), hs_iter_value(&iter));
}
printf("\n");
for (hs_iter_toend(&iter); !hs_iter_start(&iter); /**/)
for (hs_iter_to_end(&iter); !hs_iter_start(&iter); hs_iter_prev(&iter))
{
hs_iter_prev(&iter, &r, &i);
printf("S[%2d] = %2d\n", i, r);
printf("S[%2d] = %2d\n", hs_iter_index(&iter), hs_iter_value(&iter));
}
hs_free(hs);