aboutsummaryrefslogtreecommitdiff
path: root/vector.h
blob: aa91c893e6e5659498118cc7c843759275cc28ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef __VECTOR_H__
#define __VECTOR_H__

typedef struct {
    int *arr;
    int max_size;
    int cur_size;
} vector_t;

vector_t vector_init(int size);
int size(vector_t vec);
int capacity(vector_t vec);
int is_empty(vector_t vec);
int is_full(vector_t vec);
int at(vector_t vec, int index);
void push(vector_t *vec, int value);
void insert(vector_t *vec, int index, int val);
void delete_vec(vector_t *vec, int index);
void remove_val(vector_t *vec, int value);
void prepend(vector_t *vec, int value);
int pop(vector_t *vec);
void print_vec(vector_t vec);
void destroy_vec(vector_t *vec);
int find_vec(vector_t vec, int value);
void resize_vec_check(vector_t *vec);
void resize_vec(vector_t *vec, int new_capacity);

#endif