#include #include typedef struct { int *arr; int max_size; int cur_size; } vector_t; vector_t vector_init(int size){ vector_t vec; vec.max_size = size; vec.arr = malloc(sizeof(int)*vec.max_size); vec.cur_size = 0; return vec; } int size(vector_t vec){ return vec.cur_size; } int capacity(vector_t vec){ return vec.max_size; } int is_empty(vector_t vec){ if (vec.cur_size == 0){ return 1; } return 0; } int at(vector_t vec, int index){ if (index >= vec.max_size){ printf("Index out of bound!!\n"); exit(1); } return vec.arr[index]; } void push(vector_t *vec, int value){ if (value >= vec->max_size){ printf("Array out of Size!! Not yet implemented resize!!\n"); exit(1); } vec->arr[vec->cur_size] = value; vec->cur_size++; } void insert(vector_t *vec, int index, int item){ } int main(void){ vector_t vec = vector_init(16); printf("The size of the vector is %d.\n", size(vec)); printf("The capacity of the vector is %d.\n", capacity(vec)); printf("is_empty returns: %d.\n", is_empty(vec)); push(&vec, 10); printf("-----\n"); printf("The size of the vector is %d.\n", size(vec)); printf("The first element of the vector is %d.\n", at(vec, 0)); printf("is_empty returns: %d.\n", is_empty(vec)); return 0; }