一.算法思想
从数组开头往后扫并用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);
}
本文介绍了一种简单有效的算法,用于删除顺序表中所有值为X的元素。通过遍历数组并将非目标元素前移,该算法能高效地完成任务,最终调整顺序表长度以去除指定值。
1213

被折叠的 条评论
为什么被折叠?



