diff options
| author | leiyu3 <s444814187@gmail.com> | 2022-09-22 14:05:07 -0400 |
|---|---|---|
| committer | leiyu3 <s444814187@gmail.com> | 2022-09-22 14:05:07 -0400 |
| commit | 4bdf44d91905c8c659a7866ad902afdaa1294f82 (patch) | |
| tree | 9efb7a205134a4e8adcfab2da817e098ca21267c | |
| parent | 52de83b3d3e113cfeddb1d78b3f49c7ee59c43dd (diff) | |
| download | vector_c-4bdf44d91905c8c659a7866ad902afdaa1294f82.tar.gz vector_c-4bdf44d91905c8c659a7866ad902afdaa1294f82.zip | |
| -rw-r--r-- | libvector.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libvector.c b/libvector.c index 29abc9d..04461b8 100644 --- a/libvector.c +++ b/libvector.c | |||
| @@ -10,6 +10,7 @@ vector_t vector_init(int size){ | |||
| 10 | return vec; | 10 | return vec; |
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | |||
| 13 | int size(vector_t vec){ | 14 | int size(vector_t vec){ |
| 14 | return vec.cur_size; | 15 | return vec.cur_size; |
| 15 | } | 16 | } |
| @@ -25,11 +26,15 @@ int is_empty(vector_t vec){ | |||
| 25 | return 0; | 26 | return 0; |
| 26 | } | 27 | } |
| 27 | 28 | ||
| 28 | int at(vector_t vec, int index){ | 29 | void check_valid_index(vector_t vec, int index){ |
| 29 | if (index >= size(vec) || index < 0){ | 30 | if (index > size(vec) || index < 0){ |
| 30 | printf("Index out of bound!!\n"); | 31 | printf("Index out of bound!!\n"); |
| 31 | exit(-1); | 32 | exit(-1); |
| 32 | } | 33 | } |
| 34 | } | ||
| 35 | |||
| 36 | int at(vector_t vec, int index){ | ||
| 37 | check_valid_index(vec, index); | ||
| 33 | 38 | ||
| 34 | return vec.arr[index]; | 39 | return vec.arr[index]; |
| 35 | } | 40 | } |
| @@ -40,7 +45,9 @@ void push(vector_t *vec, int value){ | |||
| 40 | vec->cur_size++; | 45 | vec->cur_size++; |
| 41 | } | 46 | } |
| 42 | 47 | ||
| 48 | |||
| 43 | void insert(vector_t *vec, int index, int val){ | 49 | void insert(vector_t *vec, int index, int val){ |
| 50 | check_valid_index(*vec, index); | ||
| 44 | resize_vec_check(vec); | 51 | resize_vec_check(vec); |
| 45 | 52 | ||
| 46 | int tmp; | 53 | int tmp; |
| @@ -53,10 +60,7 @@ void insert(vector_t *vec, int index, int val){ | |||
| 53 | } | 60 | } |
| 54 | 61 | ||
| 55 | void delete_vec(vector_t *vec, int index){ | 62 | void delete_vec(vector_t *vec, int index){ |
| 56 | if (!(index < vec->cur_size)){ | 63 | check_valid_index(*vec, index); |
| 57 | printf("Invalid Index!\nFailed to Delete Element\n"); | ||
| 58 | exit(-1); | ||
| 59 | } | ||
| 60 | int len = vec->cur_size - 1; | 64 | int len = vec->cur_size - 1; |
| 61 | 65 | ||
| 62 | for (int i = index; i < len; i++){ | 66 | for (int i = index; i < len; i++){ |
