顺序表的基本操作代码c++顺序表
时间: 2024-09-12 20:10:04 浏览: 51
顺序表是一种基于数组实现的线性表,它使用连续的存储单元一次存放线性表的数据元素。在C++中,顺序表的基本操作通常包括初始化、插入、删除、查找和遍历等。
以下是一个简单的C++顺序表实现示例,包含了基本操作的代码:
```cpp
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 顺序表的最大长度
template <typename T>
class SeqList {
private:
T data[MAXSIZE]; // 存储数据元素的数组
int length; // 顺序表当前长度
public:
// 构造函数
SeqList(int n = 0) : length(n) {
if (n > MAXSIZE) length = MAXSIZE;
}
// 插入元素
bool insert(int index, T element) {
if (index < 0 || index > length || length >= MAXSIZE) return false;
for (int i = length; i > index; i--) {
data[i] = data[i - 1];
}
data[index] = element;
length++;
return true;
}
// 删除元素
bool remove(int index) {
if (index < 0 || index >= length) return false;
for (int i = index; i < length - 1; i++) {
data[i] = data[i + 1];
}
length--;
return true;
}
// 查找元素
int search(T element) {
for (int i = 0; i < length; i++) {
if (data[i] == element) return i;
}
return -1; // 如果找不到元素,返回-1
}
// 遍历输出
void display() {
for (int i = 0; i < length; i++) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
SeqList<int> list(5); // 创建一个长度为5的顺序表
list.insert(0, 1); // 在索引0处插入元素1
list.insert(1, 2); // 在索引1处插入元素2
list.insert(2, 3); // 在索引2处插入元素3
list.insert(3, 4); // 在索引3处插入元素4
list.insert(4, 5); // 在索引4处插入元素5
cout << "顺序表元素: ";
list.display(); // 显示顺序表的元素
list.remove(2); // 删除索引为2的元素
cout << "删除元素后顺序表元素: ";
list.display(); // 显示删除元素后的顺序表
int index = list.search(3); // 查找元素3的位置
if (index != -1) {
cout << "元素3的位置是: " << index << endl;
}
return 0;
}
```
这段代码定义了一个模板顺序表类`SeqList`,并在`main`函数中进行了一些基本操作的演示。需要注意的是,实际开发中顺序表的实现可能会更为复杂,包括动态扩容、异常处理等。
阅读全文