-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
43 lines (33 loc) · 965 Bytes
/
main.c
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
#include "array.h"
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
uint32_t* arr = array_alloc(uint32_t);
for (uint32_t i = 0; i < 50; ++i) {
array_push(arr, i);
}
for (uint32_t i = 0; i < 50; ++i) {
array_push_rval(arr, uint32_t, i * 3);
}
for (uint32_t i = 0; i < 10; ++i) {
uint32_t val;
array_pop(arr, &val);
printf("Popped %u\n", val);
}
for (uint32_t i = 0; i < 5; ++i) {
uint32_t index = rand() % array_size(arr);
// array_erase preserves order in array
array_erase(arr, index);
}
for (uint32_t i = 0; i < 5; ++i) {
uint32_t index = rand() % array_size(arr);
// array_erase_fast does NOT preserve order in array
array_erase_fast(arr, index);
}
for (uint32_t i = 0; i < array_size(arr); ++i) {
printf("[%u] %u\n", i, arr[i]);
}
array_free(arr);
return 0;
}