编写算法,从顺序表中删除自第i个元素开始的k个元素
时间: 2023-04-26 18:00:20 浏览: 348
61旋转链表.zip(算法)
算法步骤如下:
1. 判断i和k是否合法,即i是否大于且小于等于顺序表长度,k是否大于且不超过i后面的元素个数。
2. 从第i+k个元素开始,将后面的元素向前移动k个位置。
3. 修改顺序表的长度,即将原来的长度减去k。
4. 返回删除后的顺序表。
具体实现可以参考以下代码:
```
void deleteElements(SeqList &L, int i, int k) {
if (i <= || i > L.length || k <= || k > L.length - i + 1) {
cout << "删除位置或删除元素个数不合法!" << endl;
return;
}
for (int j = i + k; j <= L.length; j++) {
L.data[j - k] = L.data[j];
}
L.length -= k;
}
```
阅读全文