singe/thirdparty/uthash/tests/test44.c
2023-10-23 19:38:18 -05:00

66 lines
1.5 KiB
C

#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;
}