-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.c
More file actions
62 lines (47 loc) · 1.46 KB
/
example.c
File metadata and controls
62 lines (47 loc) · 1.46 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "cvector.h"
#define MAXIMUM 10
#define LIM 101
void printIntVector(Vector(int) *vec){
if(vector_valid(vec)){
size_t i;
printf("\nVector: {");
for(i=0;i<vector_size(vec);i++){
if(i!=0) printf(" ");
printf("%d", (*vec)[i]);
}
printf("} // Size: %lu, Capacity: %lu\n", vector_size(vec), vector_capacity(vec));
}
}
int main(){
Vector(int) *vec = vector_new(int);
int a[MAXIMUM];
size_t i;
srand(time(NULL));
printf("Aux array:");
for(i=0;i<MAXIMUM;i++)
printf(" %d", a[i] = rand()%LIM);
printf("\n");
printf("\nVector(int) default initial attributes:\n"
"Size: %lu\n"
"Capacity: %lu\n"
"Type size (tp_sz): %lu\n"
"Capacity Management: %d\n"
"Auto shrink: %d\n",
vector_size(vec), vector_capacity(vec), vector_tp_sz(vec),
vector_cap_man(vec),
vector_auto_shrink(vec));
vector_append_n(vec, a, MAXIMUM); printIntVector(vec);
vector_erase_n(vec, 0, vector_size(vec)/2); printIntVector(vec);
vector_set_auto_shrink(vec, 1); printIntVector(vec);
vector_set_cap_man(vec, CVEC_CAPMAN_EQ_SZ); printIntVector(vec);
vector_set_cap_man(vec, CVEC_CAPMAN_LOG);
vector_insert_one(vec, 0, &(a[MAXIMUM-1])); printIntVector(vec);
vector_erase(vec, vector_size(vec)-1); printIntVector(vec);
vector_erase_n(vec, 0, vector_size(vec)-2); printIntVector(vec);
vector_clear(vec); printIntVector(vec);
vector_free(vec);
return 0;
}