The idea is that:

```
N = 4
cur_array_1 = zeros(N)
```

is fast, but `push`

ing/`pop`

ping will start at the end

```
> push!(cur_array_1, 1)
[ 0 0 0 0 1 ]
```

A more useful data structure would then be an array list:

```
cur_array_2 = []
> push!(cur_array_2, 1)
[ 1 ]
```

This begs the question, is there a fixed-length array-list data structure that stores a `cur_index`

to allow `push`

ing and `pop`

ping from the beginning – i.e. a growing array that is `rpad`

ded by 0’s?

```
cur_array_3 = ArrayList(N)
> cur_array_3
[ 0 0 0 0 ]
> push!(cur_array_3, 42)
[ 42 0 0 0 ]
> pop!(cur_array_3)
42
> append!(cur_array_3, [ 4 , 0 , 2 ])
[ 4 0 2 0 ]
```

// also, what would be the obvious complications of using this data structure?