void BaseArray::increaseCapacity(int size) {
int *tmp = new int[capacity+size];
memcpy(tmp, mem, capacity * sizeof(int));
capacity += size;
delete [] mem;
mem = tmp;
}
void MyQueue::increaseCapacity(int size) {
int capacity = getCapacity();
int *tmp = new int[capacity + size];
int *mem = getMem();
memcpy(tmp, mem+head, (capacity-head) * sizeof(int));
memcpy((tmp+(capacity-head)), mem, (head) * sizeof(int));
head = capacity;
tail = -1;
setCapacity(capacity + size);
delete [] mem;
setMem(tmp);
}
C++
복사
스택, 큐 동적으로 늘리기