From 8614d6b1f445b1725eb23eeb3e6ae2c62fcc63fb Mon Sep 17 00:00:00 2001 From: leiyu3 Date: Tue, 20 Sep 2022 16:17:17 -0400 Subject: implement pop --- main.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/main.c b/main.c index ab3fbb3..63fe862 100644 --- a/main.c +++ b/main.c @@ -78,7 +78,13 @@ void insert(vector_t *vec, int index, int val){ void prepend(vector_t *vec, int value){ insert(vec, 0, value); +} +int pop(vector_t *vec){ + // remove item at the end, return value + int ret = vec->arr[vec->cur_size-1]; + vec->cur_size--; + return ret; } void print_vec(vector_t vec){ @@ -101,25 +107,17 @@ int main(void){ printf("The capacity of the vector is %d.\n", capacity(vec)); printf("is_empty returns: %d.\n", is_empty(vec)); - push(&vec, 1); - push(&vec, 2); - push(&vec, 3); - push(&vec, 4); - push(&vec, 5); - push(&vec, 6); - push(&vec, 7); - push(&vec, 8); - push(&vec, 9); - push(&vec, 10); - push(&vec, 11); - push(&vec, 12); - push(&vec, 13); - push(&vec, 14); - push(&vec, 15); - prepend(&vec, 0); printf("-----\n"); + for (int i = 0; i < vec.max_size; i++){ + push(&vec, i); + } + + for (int i = 0; i < vec.max_size; i++){ + printf("pop: %d\n", pop(&vec)); + } + 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)); -- cgit v1.2.3