数据结构-顺序表-删除表中所有值为x的元素

一.算法思想

从数组开头往后扫并用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);
}

你可能感兴趣的:(数据结构)