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