имеется код, в нем видно странный эффект, что когда мы unshift-им нулевой элемент из этого же вектора, а потом делаем push в 0 элемент, push также действует на первый элемент.
можно ли как то избежать этого эффекта, этот пример нечто вроде сохранения координат точек, координаты точек лежат в v[0], при изменении координат , v[0] должен переместиться в 1 элемент вектора, а все последующие элементы должны встать в позицию текущая+1, а затем в нулевом элементе нужно поменять координаты, не меняя во втором.. надеюсь я понятно объяснил.

Код AS3:
var v = new Vector.<Vector.<int>>(5);
v[0] = new Vector.<int>(5);
v[1] = new Vector.<int>(5);
v[2] = new Vector.<int>(5);
v[3] = new Vector.<int>(5);
v[4] = new Vector.<int>(5);
v[0][0] = 0;
v[0][1] = 0;
v[0][2] = 0;
v[0][3] = 0;
v[0][4] = 0;
v[1][0] = 1;
v[1][1] = 1;
v[1][2] = 1;
v[1][3] = 1;
v[1][4] = 1;
v[2][0] = 2;
v[2][1] = 2;
v[2][2] = 2;
v[2][3] = 2;
v[2][4] = 2;
v[3][0] = 3;
v[3][1] = 3;
v[3][2] = 3;
v[3][3] = 3;
v[3][4] = 3;
v[4][0] = 4;
v[4][1] = 4;
v[4][2] = 4;
v[4][3] = 4;
v[4][4] = 4;
v.unshift(v[0]);
v[0].push(1);
trace(v[0]);
trace(v[1]);
trace(v[2]);
trace(v[3]);
trace(v[4]);
//0,0,0,0,0,1
//0,0,0,0,0,1
//1,1,1,1,1
//2,2,2,2,2
//3,3,3,3,3