假设原数组T a[ ],长度为n,需要将其加长或者缩短到长度为m的数组:
用C++描述
首先动态分配一个大小为m的数组;然后将原数组a的元素拷贝过去;
template<class T>
void changeListLength(T * &a, int oldSize, int newSize)
{
if( newSize < 0)
throw illegalParameterValue("the new length must be non-negative");
T * temp = new T[newSize];
int len = min(oldSize, newSize);
copy(a, a+len,temp);
delete [ ] a;
a = temp;
}