1package dynamic_arrays
2
3import "core:fmt"
4import "core:mem"
5
6main :: proc() {
7
8 dyn := make([dynamic]int, 5, 5)
9
10
11
12 defer delete(dyn)
13
14
15 append(&dyn, 1)
16 append(&dyn, 2)
17
18
19
20 last_element := pop(&dyn)
21 fmt.println(last_element)
22
23
24 first_element := pop_front(&dyn)
25 fmt.println(first_element)
26
27
28
29 arr: [3]int = {1, 2, 3}
30 append(&dyn, ..arr[:])
31
32
33 remove_range(&dyn, len(dyn) - len(arr), len(dyn))
34
35 fmt.println(dyn)
36
37
38 mem.zero_slice(dyn[:])
39
40 for _, i in dyn {
41 dyn[i] = i + 1
42 }
43
44
45 ordered_remove(&dyn, 0)
46
47
48
49
50
51 unordered_remove(&dyn, 0)
52
53
54 dyn_copy := make([dynamic]int, len(dyn), cap(dyn))
55 defer delete(dyn_copy)
56
57 copy(dyn_copy[:], dyn[:])
58
59 fmt.println("Elements:", dyn)
60 fmt.println("Length: ", len(dyn))
61 fmt.println("Capacity:", cap(dyn))
62}