求大神帮写个题...
//==========下面是代码,完成相应函数==========
const int ARRAY_GROWUP = 10;
//数组结构体定义
struct ArrayStruct
{
int iCurMaxElementCount; //当前数组最大能容纳元素个数
int iCurElementCount; //当前元素数
int * pHead; //指针头部
};
//功能:生成一个数组,参数为最初元素个数
//参数:int iStartElementCount 数组初始化大小
//返回:成功返回指针,否则返回 NULL
ArrayStruct * Array_Init(int iStartElementCount)
{
if (iStartElementCount <= 0 )
return NULL;
ArrayStruct * pReturn;
pReturn = new ArrayStruct;
if (pReturn == NULL)
return NULL;
pReturn->pHead = new int[iStartElementCount];
if (pReturn->pHead == NULL)
{
delete pReturn;
return NULL;
}
pReturn->iCurMaxElementCount = iStartElementCount;
pReturn->iCurElementCount = 0;//表明当前没有元素
return pReturn;
}
// ========== 完成下面的函数
//功能:向数组增加一个元素,如果元素超过上述 Array_Init
// 函数的 iStartElementCount 参数时,请考虑如何适应
// 可以假定一次增大ARRAY_GROWUP个元素容量,但要保证在内存中数据为线性存放
//参数:ArrayStruct *pArray 要处理的数组结构体指针
// const int iAppendElement 要增加的元素
//返回:成功时返回 true ,失败时返加 false
bool Array_AddElement(ArrayStruct *pArray,const int iAppendElement)
{
}
//功能:删除指定索引的元素,要保证元素在内存为线性不间隔存放
//参数:ArrayStruct *pArray 要处理的数组结构体指针
// const int iRemovedIndex 要删除的元素索引
//返回:成功时返回 true ,失败时返加 false
bool Array_RemoveElementAt(ArrayStruct *pArray,const int iRemovedIndex)
{
}
//功能:返回指定索引的元素
//参数:const ArrayStruct *pArray 要处理的数组结构体指针
// const int iIndex 要取的索引值
// int & iReturn 成功时的值
//返回:成功为 true 失败为 false
bool Array_GetElement(const ArrayStruct *pArray,const int iIndex,int & iReturn)
{
}
//功能:删除一个数组
//参数:自已定义
//返回:无(12分)
void Array_Release(/* 请在这里填上参数 */)
{