Subversion Repositories PlanixRsrch.SVN

Rev

Rev 11 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include <stdio.h>
#include <string.h>
#include <errno.h>

#include "mavl.h"

int
cmp(const void *v1, const void *v2)
{
        return *((int *)v1) - *((int *)v2);
}

#define NUMVALS 16384

int
main(void)
{
        int i;
        int insval;
        int exists;
        struct mavl *t;
        void * data;
        struct mavliter it;

        t = mavl_create(cmp, NULL, sizeof(int));
        if (t == NULL) {
                (void)fprintf(stderr, 
                                "Can't create struct mavl*: %s\n", 
                                strerror(errno));
                return errno;
        }

        for (i=0; i<NUMVALS; i++){
                insval = NUMVALS-i-1;
                (void)mavl_insert(t,&insval,&exists);
        }
        mavliter_init(&it,t);
        (void)mavliter_seek_set(&it);
        
        while ( (data = mavliter_get(&it)) != NULL ){
                int val;
                val = *((int*)data);
                (void)printf("%d ",val);
                (void)mavliter_next(&it);
        }
        (void)printf("\n");
        return 0;
}