From a33316da890a242d869eb84c0b5b35e062c1c811 Mon Sep 17 00:00:00 2001 From: leiyu3 Date: Wed, 21 Sep 2022 23:31:07 -0400 Subject: implement delete --- main.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 63fe862..f451af6 100644 --- a/main.c +++ b/main.c @@ -76,6 +76,20 @@ void insert(vector_t *vec, int index, int val){ vec->cur_size += 1; } +void delete(vector_t *vec, int index){ + if (!(index < vec->cur_size)){ + printf("Invalid Index!\nFailed to Delete Element\n"); + exit(-1); + } + int len = vec->cur_size - 1; + + for (int i = index; i < len; i++){ + vec->arr[i] = vec->arr[i+1]; + } + + vec->cur_size = vec->cur_size - 1; +} + void prepend(vector_t *vec, int value){ insert(vec, 0, value); } @@ -113,10 +127,12 @@ int main(void){ for (int i = 0; i < vec.max_size; i++){ push(&vec, i); } + print_vec(vec); - for (int i = 0; i < vec.max_size; i++){ - printf("pop: %d\n", pop(&vec)); - } + /* for (int i = 0; i < vec.max_size; i++){ */ + /* printf("pop: %d\n", pop(&vec)); */ + /* delete(&vec, 0); */ + /* } */ printf("The size of the vector is %d.\n", size(vec)); printf("The first element of the vector is %d.\n", at(vec, 0)); -- cgit v1.2.3