数据结构顺序表的定义代码
时间: 2024-08-13 15:09:15 浏览: 37
数据结构中的顺序表,也称为数组或线性表,是一种最简单的数据存储形式,其中元素按照它们在内存中的连续位置(索引)进行排列。每个元素都有一个唯一的标识符(通常是整数),可以通过这个标识符直接访问其对应的值。
在大多数编程语言中,你可以用数组来实现顺序表。例如,在C++中,定义一个动态大小的顺序列表(栈或队列)可能如下所示:
```cpp
template <typename T>
class ArrayList {
private:
T* data; // 存储元素的指针
int size; // 当前元素的数量
int capacity; // 容量,即数组的最大大小
public:
ArrayList(int initialCapacity = 10) : size(0), capacity(initialCapacity) {
data = new T[capacity];
}
// 添加元素
void push_back(const T& value) {
if (size == capacity) {
resize(capacity * 2); // 如果满了,扩展容量
}
data[size++] = value;
}
// 删除元素
void pop_back() {
if (size > 0) {
size--;
}
}
// 访问元素
const T& at(int index) const {
if (index >= 0 && index < size) {
return data[index];
} else {
throw std::out_of_range("Index out of range");
}
}
// 其他方法...
private:
// 扩展数组
void resize(int newCapacity) {
T* newData = new T[newCapacity];
for (int i = 0; i < size; i++) {
newData[i] = data[i];
}
delete[] data;
data = newData;
capacity = newCapacity;
}
};
```
这是一个基础的顺序表实现,提供了添加、删除和访问元素的功能。实际使用时,可能会根据需求添加更多的方法和优化。