1.初始化一个非空的顺序表(顺序表的长度自定),在主函数中调用此函数,使用c++语言编写
时间: 2024-09-13 13:09:03 浏览: 52
数据结构c++代码(顺序表的代码,包括静态顺序表和动态顺序表)
5星 · 资源好评率100%
在C++中,初始化一个非空的顺序表通常意味着创建一个具有初始元素的数组。以下是一个简单的示例,演示如何定义一个顺序表类,并在主函数中使用该类来初始化一个非空的顺序表:
```cpp
#include <iostream>
using namespace std;
// 定义顺序表类
class SeqList {
private:
int *data; // 指向动态分配数组的指针
int capacity; // 数组的容量
int length; // 顺序表当前长度
public:
// 构造函数初始化顺序表
SeqList(int size) {
capacity = size;
length = size;
data = new int[capacity]; // 动态分配内存
// 初始化顺序表元素(示例中将所有元素初始化为0)
for (int i = 0; i < capacity; ++i) {
data[i] = 0;
}
}
// 析构函数释放顺序表占用的内存
~SeqList() {
delete[] data;
}
// 其他成员函数可以在这里添加,例如插入、删除、访问等操作
// 打印顺序表内容的函数
void printList() {
for (int i = 0; i < length; ++i) {
cout << data[i] << " ";
}
cout << endl;
}
};
// 主函数
int main() {
// 初始化一个非空的顺序表,长度为5
SeqList list(5);
// 使用构造函数初始化的顺序表元素(示例中全为0)
cout << "初始化后的顺序表内容: ";
list.printList();
// 向顺序表中添加非空元素(示例中添加1到5)
for (int i = 0; i < 5; ++i) {
list.data[i] = i + 1;
}
// 打印修改后的顺序表内容
cout << "修改后的顺序表内容: ";
list.printList();
return 0;
}
```
这段代码首先定义了一个名为`SeqList`的顺序表类,其中包含了一个动态分配的数组`data`来存储顺序表的元素。构造函数`SeqList(int size)`初始化顺序表的容量和长度,并将所有元素初始化为0。析构函数`~SeqList()`用于释放顺序表占用的内存。`printList()`函数用于打印顺序表中的所有元素。
在主函数`main()`中,创建了一个长度为5的`SeqList`对象`list`,首先打印了初始化后顺序表中的元素(全为0),然后修改顺序表的内容,最后再次打印修改后的顺序表内容。
阅读全文