Third update on iterators - HASHMAP

This commit is contained in:
Leonardo committed 2019-05-14 00:52:20 -03:00
1 parent 221c55cf2a
commit d3e7d64d2a
6 files changed
+450 -120

No files matched your search

+14 -11
View File
@@ -45,29 +45,32 @@ int main(int argc, char const *argv[])
hmap_iter iter;
hm_iter_init(&iter, hm);
// Make the iterator go back and forward
for (int j = 0; j < 4; j++)
{
while (hm_iter_next(&iter, &k, &v, &i))
printf("S[%2d] = { %2d : %2.2lf }\n", i, k, v);
while (!hm_iter_end(&iter))
{
printf("C[%2d] = { %2d : %2.2lf }\n", hm_iter_index(&iter), hm_iter_key(&iter), hm_iter_value(&iter));
hm_iter_next(&iter);
}
printf("\n");
while (hm_iter_prev(&iter, &k, &v, &i))
printf("S[%2d] = { %2d : %2.2lf }\n", i, k, v);
while (!hm_iter_start(&iter))
{
printf("C[%2d] = { %2d : %2.2lf }\n", hm_iter_index(&iter), hm_iter_key(&iter), hm_iter_value(&iter));
hm_iter_prev(&iter);
}
printf("\n\n");
}
for (hm_iter_tostart(&iter); !hm_iter_end(&iter); /**/)
for (hm_iter_to_start(&iter); !hm_iter_end(&iter); hm_iter_next(&iter))
{
hm_iter_next(&iter, &k, &v, &i);
printf("M[%2d] = { %2d : %2.2lf }\n", i, k, v);
printf("M[%2d] = { %2d : %2.2lf }\n", hm_iter_index(&iter), hm_iter_key(&iter), hm_iter_value(&iter));
}
printf("\n");
for (hm_iter_toend(&iter); !hm_iter_start(&iter); /**/)
for (hm_iter_to_end(&iter); !hm_iter_start(&iter); hm_iter_prev(&iter))
{
hm_iter_prev(&iter, &k, &v, &i);
printf("M[%2d] = { %2d : %2.2lf }\n", i, k, v);
printf("M[%2d] = { %2d : %2.2lf }\n", hm_iter_index(&iter), hm_iter_key(&iter), hm_iter_value(&iter));
}
hm_free(hm);