From 3c4db645d0188968f4dbe0317d63c7d638f47d03 Mon Sep 17 00:00:00 2001 From: leiyu3 Date: Tue, 20 Sep 2022 15:14:27 -0400 Subject: init --- main.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 main.c diff --git a/main.c b/main.c new file mode 100644 index 0000000..227d1e6 --- /dev/null +++ b/main.c @@ -0,0 +1,73 @@ +#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; +} -- cgit v1.2.3