C++:用一个数组实现原始的(三方法)linked类。开始时,数组的缺省容量是100,每当溢出当前容量时就将容量加倍?
问题描述:
C++:当一个数组实现原始的(三方法)linked类。开始时,数组的缺省容量是100,每当溢出当前容量时就将容量加倍?
答
class linked
{
private:
int * arr;
int cap;
int n;
public:
linked()
{
cap = 100;
arr = new int[cap];
n = 0;
}
void add(int x)
{
if (n >= cap - 1)
{
int * t = new int[cap * 2];
memcpy(t, arr, cap * sizeof(int));
delete[] arr;
arr = t;
}
arr[n++] = x;
}
int getLength() { return n; }
int getValue(int index) { return arr[index]; }
~linked() { delete[] arr; }
};