diff --git a/src/main.c b/src/main.c index 0049576..65a3a73 100644 --- a/src/main.c +++ b/src/main.c @@ -100,6 +100,18 @@ add_back(Vec8_t* vec, char val) return nvec; } +Vec8_t +add_front(Vec8_t* vec, char val) +{ + Vec8_t nvec = create(vec->size + 1); + memcpy(&nvec.arr[1], &vec->arr[0], vec->size * sizeof(char)); + if (nvec.arr && (nvec.size > 0 || nvec.size > vec->size)) + { + nvec.arr[0] = val; + } + return nvec; +} + int main() { @@ -111,6 +123,11 @@ main() for(int i = 0; i < vec.size; i++) { printf("%c\n", at(&vec, i)); } + printf("\n"); + vec = add_front(&vec, 'c'); + for(int i = 0; i < vec.size; i++) { + printf("%c\n", at(&vec, i)); + } // for (int i = 0; i < capacity; i++) // {