用C++建立5个元素的顺序表s=sqlist[]={1,2,3,4,5},实现顺序表建立的基本操作。
时间: 2024-09-26 14:03:33 浏览: 115
在C++中,可以使用数组结构来创建一个简单的顺序表(也叫线性表)。首先,我们可以定义一个模板类`SequentialList`,用于存储整数类型的元素,并提供基本的操作如插入、删除和查找等。对于给定的元素序列`s = sqlist[] = {1, 2, 3, 4, 5}`,这里是一个基础的实现:
```cpp
#include <iostream>
template<typename T>
class SequentialList {
private:
T* elements; // 存储数据的指针
int size; // 当前元素的数量
static const int DEFAULT_SIZE = 5; // 默认大小
public:
SequentialList() : elements(new T[DEFAULT_SIZE]), size(0) {}
~SequentialList() {
delete[] elements;
}
// 插入元素
void insert(int index, const T& value) {
if (index < 0 || index > size) {
std::cout << "Invalid index." << std::endl;
return;
}
if (size == DEFAULT_SIZE) { // 扩容
T* newElements = new T[2 * DEFAULT_SIZE];
for (int i = 0; i < size; ++i) {
newElements[i] = elements[i];
}
delete[] elements;
elements = newElements;
}
for (int i = size - 1; i >= index; --i) {
elements[i + 1] = elements[i];
}
elements[index] = value;
size++;
}
// 删除元素
void remove(const T& value) {
for (int i = 0; i < size; ++i) {
if (elements[i] == value) {
for (int j = i; j < size - 1; ++j) {
elements[j] = elements[j + 1];
}
size--;
break;
}
}
}
// 查找元素
bool find(const T& value) const {
for (int i = 0; i < size; ++i) {
if (elements[i] == value) {
return true;
}
}
return false;
}
// 显示列表内容
void display() const {
std::cout << "Sequential List: ";
for (int i = 0; i < size; ++i) {
std::cout << elements[i] << " ";
}
std::cout << std::endl;
}
};
int main() {
SequentialList<int> s;
s.insert(0, 6); // 添加元素
s.remove(3); // 删除元素
s.display(); // 显示当前列表
return 0;
}
```
在这个例子中,我们实现了顺序表的插入、删除、查找和显示功能。注意,这个实现仅适用于固定大小的数组,如果需要动态增长,可以在`insert`方法中处理扩容。
阅读全文
相关推荐



















