用C++编写一个线性表模板类 实现:(1)数据成员:T data[ ],int length (2)方法成员:构造函数、复制构造函数、析构函数、 插入函数insert(int index, T value),删除函数delete(int index),查找函数find(T value).
时间: 2024-01-22 10:20:33 浏览: 54
下面是一个简单的线性表模板类的实现,包含了您所需的数据成员和方法成员:
```cpp
template<typename T>
class LinearList {
public:
// 构造函数
LinearList() {
length = 0;
}
// 复制构造函数
LinearList(const LinearList<T>& other) {
length = other.length;
for (int i = 0; i < length; i++) {
data[i] = other.data[i];
}
}
// 析构函数
~LinearList() {
length = 0;
}
// 插入函数
void insert(int index, T value) {
if (index < 0 || index > length) {
return;
}
for (int i = length; i > index; i--) {
data[i] = data[i - 1];
}
data[index] = value;
length++;
}
// 删除函数
void remove(int index) {
if (index < 0 || index >= length) {
return;
}
for (int i = index; i < length - 1; i++) {
data[i] = data[i + 1];
}
length--;
}
// 查找函数
int find(T value) {
for (int i = 0; i < length; i++) {
if (data[i] == value) {
return i;
}
}
return -1;
}
private:
T data[100];
int length;
};
```
需要注意的是,这里的线性表长度被限定为100,可以根据实际需要进行修改。另外,这里的查找函数只能返回第一个找到的匹配项的下标,如果需要返回所有匹配项的下标,则需要进行相应的修改。
阅读全文