顺序表(也称为顺序存储的线性表)是一种基于数组实现的线性数据结构。下面是一个用C++实现的顺序表示例,其中包含了基本的增、删、查、改等操作。
#include <iostream>
#define MAX_SIZE 100 // 顺序表的最大容量
using namespace std;
// 定义顺序表类
template <typename T>
class SeqList {
private:
T data[MAX_SIZE]; // 存储元素的数组
int length; // 当前顺序表长度
public:
// 构造函数
SeqList() : length(0) {
}
// 获取顺序表长度
int getLength() const {
return length;
}
// 判空
bool isEmpty() const {
return length == 0;
}
// 插入元素
bool insert(int pos, const T& elem) {
if (pos < 1 || pos > length + 1) {
cout << "插入位置不合法!" << endl;
return false;
}
if (length >= MAX_SIZE) {
cout << "顺序表已满,无法插入!" << endl;
return false;
}
// 将插入位置及其后元素后移
for (int i = length; i >= pos; --i) {
data[i] = data[i - 1];
}
data[pos - 1] = elem;
length++;
return true;
}
// 删除元素
bool remove(int pos, T&a