顺序表依次插入多个数值c++
时间: 2024-09-20 12:07:02 浏览: 29
在C++中,顺序表是一种简单的线性数据结构,通常通过数组实现。如果你想按顺序插入多个数值,可以按照以下步骤操作:
1. 定义一个动态数组作为顺序表,假设它的元素类型为`T`。
```cpp
template <typename T>
class SequentialList {
private:
T* data; // 存储数据的指针
int size; // 当前元素的数量
int capacity; // 数组的容量
public:
SequentialList() : data(nullptr), size(0), capacity(0) {}
};
```
2. 插入数值时,首先检查是否需要扩容。如果`size`接近或等于`capacity`,则动态分配新的更大的数组,并复制原有数据到新数组。
```cpp
void insert(SequentialList<T>& list, const T& value) {
if (size == capacity - 1) {
resize(list, capacity * 2); // 扩容
}
data[size++] = value;
}
```
3. `resize`函数负责调整数组大小:
```cpp
void resize(SequentialList<T>& list, int new_capacity) {
T* newData = new T[new_capacity];
for (int i = 0; i < size; ++i)
newData[i] = list.data[i]; // 复制旧数据
delete[] list.data; // 释放旧数组
list.data = newData;
list.capacity = new_capacity;
}
```
4. 最后,在实际使用时,你可以多次调用`insert`函数依次插入数值,比如:
```cpp
SequentialList<int> myList;
myList.insert(5);
myList.insert(10);
myList.insert(15);
```