// 对长度为n的顺序表L,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除顺序表中所有值为x的数据元素
void removeX(int L[],int n,int x) {
int i = 0; //不等于x的元素个数
for (int j = 0;j < n;j++) {
if (L[j] != x) {
L[i] = L[j];
i++;
}
}
for (;i < n;i++) {
L[i] = 0;
}
}
void removeX_2(int L[], int n, int x) {
int i = 0;//不等于X的元素个数
for (int j = 0;j < n;j++) {
if (L[j] == x) i++;
else L[j - i] = L[j];
}
i += 1;
for (;i < n;i++) {
L[i] = 0;
}
}
考研数据结构代码题(删除表中所有值为x的元素)
于 2024-08-28 14:28:59 首次发布