I've written a paper to explain a tecnique that comes in my mind in the previous weekend.
It's concerned a system to make dynamic arrays composed by a list of static arrays.
As you will see in the first step you create ad array large enough to contain all your datas. When you extend the array a new node with the array extension is been created.
In this way you prevent to reallocate a new large array every time and copy all the existing datas on it.
A c++ implementation will follow ASAP
Enjoy the document. Released with Creative Commons licence