顺序表的插入算法的c++代码
时间: 2024-09-29 21:05:34 浏览: 18
在C++中,顺序表(如数组)的插入操作通常涉及到移动元素以空出位置,然后将新元素放置在适当的位置。这里是一个简单的示例,展示了如何向顺序表末尾插入一个元素:
```cpp
#include <iostream>
// 定义顺序表结构(这里假设一个整型数组)
class SequenceList {
private:
int* data; // 数据指针
int size; // 当前大小
int capacity; // 容量
public:
// 构造函数,初始化列表为空
SequenceList(int capacity = 5) : data(new int[capacity]), size(0), capacity(capacity) {}
// 插入元素到末尾
void insert(int value) {
if (size == capacity) { // 如果已满,需要扩容
resize(capacity * 2); // 新容量为原容量的两倍
}
// 将数据移到末尾并添加新值
for (int i = size; i > 0; --i) {
data[i] = data[i - 1];
}
data[0] = value; // 插入新值
++size;
}
// 扩容函数(这里仅简单地复制数据)
void resize(int new_capacity) {
int* newData = new int[new_capacity];
for (int i = 0; i < size; ++i) {
newData[i] = data[i];
}
delete[] data;
data = newData;
capacity = new_capacity;
}
// 释放内存
~SequenceList() {
delete[] data;
}
};
int main() {
SequenceList list(4);
list.insert(10);
list.insert(20);
// 更多插入...
return 0;
}
```