1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 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;
}
|