#include #include #include #include #include "vector.h" #include "util.h" #define VECTOR_START_SIZE 8 #define VECTOR_GROW_FACTOR 2 #define ITEMSZ sizeof(int) void vector_init(ivector *v) { assert(v); v->n = 0; v->maxsz = VECTOR_START_SIZE; v->data = xmalloc(ITEMSZ * VECTOR_START_SIZE); } void vector_initdata(ivector *v, int *arr, size_t arrsz) { assert(v && arrsz); // } void vector_free(ivector *v) { assert(v); v->n = 0; v->maxsz = 0; xfree(v->data); v->data = NULL; } size_t vector_len(const ivector *v) { assert(v); // return 0; } int * vector_data(const ivector *v) { assert(v); // return NULL; } void vector_resize(ivector *v, int n) { assert(v); // } void vector_set(ivector *v, size_t idx, int val) { assert(v && idx < v->n); // } int vector_get(const ivector *v, size_t idx) { assert(v && idx < v->n); // return 0; } void vector_push(ivector *v, int val) { assert(v); // } void vector_pop(ivector *v) { assert(v); // } void vector_insert(ivector *v, size_t idx, int val) { assert(v && v->n >= idx); // } void vector_del(ivector *v, size_t idx) { // } void vector_clear(ivector *v) { vector_resize(v, 0); }