顺序表插入20个元素代码怎么写C++
时间: 2024-10-13 08:18:24 浏览: 37
在C++中,顺序表(也叫数组)插入20个元素通常需要预先分配足够的内存空间,然后按照索引逐个添加新元素。下面是一个简单的例子,假设我们有一个固定大小的顺序表`List`:
```cpp
#include <iostream>
// 假设我们定义了一个顺序列表模板类 List
template<typename T>
class List {
private:
T* elements; // 存储元素的指针
size_t capacity; // 初始容量
size_t size; // 当前元素的数量
public:
List(size_t initial_capacity = 5) { // 默认初始容量为5
elements = new T[initial_capacity];
capacity = initial_capacity;
size = 0;
}
~List() { // 析构函数释放内存
delete[] elements;
}
void insert(size_t index, const T& value) {
if (index > size || index > capacity) {
std::cout << "Invalid insertion index.\n";
return;
}
// 如果已满,先扩容
if (size == capacity) resize(capacity * 2); // 这里仅做示例,实际操作应考虑效率
// 将后面的元素向右移动
for (size_t i = size; i > index; --i) {
elements[i] = elements[i - 1]; // 或者直接 elements[i] = value; 取决于是否要保留原始值
}
// 插入新的元素
elements[index] = value;
++size;
}
// 其他成员函数...
};
int main() {
List<int> list(10); // 创建一个能容纳10个元素的列表
for (size_t i = 0; i < 20; ++i) {
list.insert(i, i * 10); // 插入从0到19的整数
std::cout << "Inserted element at position " << i << ": " << list.elements[i] << '\n';
}
return 0;
}
阅读全文