对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素
遍历顺序表,用k记录顺序表中不等于x的元素个数,同时扫描时将不等于x的元素移动到下标k的位置。并更新k的值。
覆盖原顺序表
bool del(SqList &L,int x){
int k=0;
for(int i=0;i<L.length;i++){
if(L.data[i]!=x){
L.data[k]=L.data[i];
k++;
}
}
L.length=k;
}