一.算法思想
从数组开头往后扫并用K记录不等于X的元素个数,且边扫描边统计K,同时将不等于X的元素往前移K位,最后修改顺序表的长度,实现删除顺序表L中所有值为X的元素
二.源代码
//删除值为X的数据元素
void Del_X(List list,ElementType x) {
PrintList(list);
int k = 0; //记录K不等于0的个数
for (int i = 0; i <= list->Last;i++) {
if (list->Data[i] != x) {
list->Data[k] = list->Data[i];
k++; //不等于0的个数加1
}
}
list->Last = k - 1;
PrintList(list);
}