1.设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:建立一个线性表,首先依次输人数据元素1,2,3,…,10,然后删除数据元素6,最后依次显示当前线性表中的数据元素。要求采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过10个。c++
时间: 2024-09-28 12:15:59 浏览: 35
在C++中,我们可以创建一个简单的顺序表(也称为动态数组)来实现这个功能。首先,我们需要一个模板类`SequentialList`来表示顺序表,并包含插入、删除和显示元素的方法。这里是一个基础的实现:
```cpp
#include <iostream>
template<typename T>
class SequentialList {
private:
T* data; // 存储数据的指针
int size; // 当前元素数量
static const int MAX_SIZE = 10; // 预设最大容量
public:
SequentialList() : data(new T[MAX_SIZE]), size(0) {}
~SequentialList() { delete[] data; } // 析构函数释放内存
// 插入元素
void insert(T value) {
if (size == MAX_SIZE) {
std::cout << "已满,无法插入更多元素!" << std::endl;
return;
}
data[size++] = value;
}
// 删除元素
void remove(int index) {
if (index < 0 || index >= size) {
std::cout << "索引无效!" << std::endl;
return;
}
for (int i = index; i < size - 1; ++i)
data[i] = data[i + 1];
size--;
}
// 显示元素
void display() {
for (int i = 0; i < size; ++i)
std::cout << data[i] << " ";
std::cout << std::endl;
}
// 主函数示例
void demonstrate() {
for (int i = 1; i <= 10; ++i)
insert(i);
remove(5); // 删除元素6
display(); // 最后显示剩余元素
}
};
int main() {
SequentialList<int> list;
list.demonstrate();
return 0;
}
```
在这个例子中,我们创建了一个顺序列表,输入1到10的数据,删除6,然后显示剩余的元素。请注意,实际使用时还需要处理异常和其他边界情况。
阅读全文