
/******************************************************
*
* name : DelElement
* function : (笔试题)删除顺序表L中下标为p(0<≤ p ≤length-1)的元素,
* 成功返回1,否则返回0,并将待删除的元素的值赋给e。
* argument
* @p :需要插入顺序表中的元素
* @L :顺序表的地址
* @e :e的地址
*
* retval : 成功返回1,失败返回0
* author : Dazz
* date : 2024/4/22
* note : None
*
* *******************************************************/
bool DelElement(unsigned int p, SeqList_t *L, int *e)
{
// 错误处理
if (p > length - 1)
{
printf("请输入范围内的下标\n");
return false;
}
if (NULL == L)
{
printf("请输入有效地址\n");
return false;
}
// 将待删除元素的值赋给e
*e = L[p];
// 把待删除元素的后继元素整体向前移动一个单位
for (int i = p; i < Length; i++)
{
L[i] = L[i + 1];
}
return true;
}