[   ^ to index...   |   <-- previous   |   next -->   ]

Vector: insertion in dynamically growing vector

class Vector { // ... private: int maxSize; int length; Item * items; }; Vector::Vector() { maxSize = 16; items = new Item[maxSize]; length = 0; } void Vector::insert(int position, Item item) { assert(position >= 0 && position <= length); if (length == maxSize) { maxSize *= 2; Item * temp = new Item[maxSize]; for (int i=0; i<length; i++) temp[i] = items[i]; delete [] items; items = temp; } for (int i=length; i>position; i--) items[i] = items[i-1]; items[position] = item; ++length; }
Last modified: Thu Jul 6 13:54:08 PDT 2000