diff options
Diffstat (limited to 'dependencies/uthash/tests/test44.c')
-rw-r--r-- | dependencies/uthash/tests/test44.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/dependencies/uthash/tests/test44.c b/dependencies/uthash/tests/test44.c new file mode 100644 index 000000000..042fc4c50 --- /dev/null +++ b/dependencies/uthash/tests/test44.c @@ -0,0 +1,66 @@ +#include <stdio.h> +#include "utarray.h" + +static int reverse(const void *a, const void *b) +{ + int _a = *(const int*)a; + int _b = *(const int*)b; + return _b - _a; +} + +int main() +{ + UT_array *a; + int i, *p; + utarray_new(a, &ut_int_icd); + for(i=0; i<10; i++) { + utarray_push_back(a,&i); + } + for(p=(int*)utarray_front(a); p!=NULL; p=(int*)utarray_next(a,p)) { + printf("%d ",*p); + } + printf("\n"); + utarray_sort(a,reverse); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_erase(a,3,3); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_erase(a,1,2); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_erase(a,0,1); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_erase(a,3,1); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_resize(a,5); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_resize(a,3); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_erase(a,0,3); + while ( (p=(int*)utarray_next(a,p)) != NULL ) { + printf("%d ", *p); + } + printf("\n"); + utarray_free(a); + return 0; +} + |