aboutsummaryrefslogtreecommitdiff
path: root/tests/test44.c
blob: 042fc4c509fb898a90011c8f90c347ccc8498e42 (plain)
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;
}