利用C++编程,建立一个顺序表类。利用该顺序表类,生成容量为50的空顺序表,然后输出该空顺序表。在该顺序表中依次在第0个元素前插入5、在第一个元素前插入15以及在第四个元素前插入35,再输出该顺序表。依次删除该顺序表中的第0个元素以及删除该顺序表中的第2个元素,再输出该顺序表。
时间: 2024-10-21 22:10:29 浏览: 37
在C++中,我们可以创建一个简单的`SequentialList`类来表示顺序表(数组),并提供一些基本操作如初始化、插入、删除等。这里是一个简化的实现:
```cpp
#include <iostream>
using namespace std;
class SequentialList {
private:
int* elements; // 存储数据的指针
int size; // 当前元素的数量
int capacity; // 容量
public:
SequentialList(int capacity_) : capacity(capacity_), size(0) {
elements = new int[capacity];
}
~SequentialList() { // 析构函数释放内存
delete[] elements;
}
// 插入元素
void insertAtStart(int value, int index = 0) {
if (index >= size || index < 0) {
cout << "Invalid index.\n";
return;
}
for (int i = size - 1; i > index; --i) {
elements[i] = elements[i - 1];
}
elements[index] = value;
++size;
}
// 删除元素
void removeAt(int index) {
if (index < 0 || index >= size) {
cout << "Invalid index.\n";
return;
}
for (int i = index; i < size - 1; ++i) {
elements[i] = elements[i + 1];
}
--size;
}
// 输出顺序表
void printList() {
cout << "Sequence List: ";
for (int i = 0; i < size; ++i) {
cout << elements[i] << " ";
}
cout << endl;
}
};
int main() {
SequentialList list(50); // 初始化一个容量为50的空顺序表
list.insertAtStart(5); // 在第一个位置插入5
list.insertAtStart(15); // 在第二个位置插入15
list.insertAtStart(35, 4); // 在第五个位置插入35
list.printList(); // 输出当前列表
list.removeAt(0); // 删除第一个元素
list.removeAt(1); // 删除第二个元素
list.printList(); // 输出修改后的列表
return 0;
}
```
运行上述代码,你会看到顺序表的初始状态、插入元素后的状态以及删除某些元素后的状态。
阅读全文