An array that grows by copying into a bigger one, with a counter that shows why append is still O(1) amortized.
This interactive visualization needs JavaScript.