用c++在顺序表类SeqList和单链表类Chain中分别增加一个成员函数,其功能是删除表中所有等于item的数据元素。
时间: 2024-03-01 09:52:48 浏览: 79
数据结构C++ 线性表——顺序表和单链表基本操作(含代码和注释).docx
5星 · 资源好评率100%
在SeqList类中,可以增加如下成员函数:
```cpp
void removeItem(const T& item) {
int i = 0;
while (i < length) {
if (data[i] == item) {
for (int j = i; j < length - 1; ++j) {
data[j] = data[j + 1];
}
--length;
} else {
++i;
}
}
}
```
在Chain类中,可以增加如下成员函数:
```cpp
void removeItem(const T& item) {
ChainNode<T> *current = first, *prev = nullptr;
while (current != nullptr) {
if (current->element == item) {
if (prev == nullptr) {
first = current->next;
} else {
prev->next = current->next;
}
ChainNode<T> *toDelete = current;
current = current->next;
delete toDelete;
--length;
} else {
prev = current;
current = current->next;
}
}
}
```
以上代码都是基于模板类的,可以对不同类型的数据使用。这里假设T代表数据类型。
阅读全文