设计整数顺序表的基本运算程序,并用相关数据进行测试。
时间: 2024-10-09 21:00:53 浏览: 38
实验一 顺序表基本操作的实现
设计一个简单的整数顺序表(也称为线性表)通常涉及到基本的插入、删除和查找操作。这里是一个基于数组实现的简单示例,它使用C++语言:
```cpp
#include <iostream>
class IntegerList {
private:
int* data; // 存储整数的数组
int size; // 当前元素的数量
int capacity; // 数组的最大容量
public:
IntegerList(int initialCapacity = 10) : size(0), capacity(initialCapacity) {
data = new int[capacity];
}
~IntegerList() { delete[] data; } // 析构函数释放内存
// 插入操作
void insert(int value) {
if (size == capacity) {
resize(capacity * 2); // 如果满,扩大容量
}
data[size++] = value;
}
// 删除操作
void remove(int index) {
if (index >= 0 && index < size) {
for (int i = index; i < size - 1; ++i) {
data[i] = data[i + 1]; // 向左移动元素
}
size--;
}
}
// 查找操作
bool find(int target) const {
for (int i = 0; i < size; ++i) {
if (data[i] == target) return true;
}
return false;
}
// 打印列表内容
void print() const {
for (int i = 0; i < size; ++i) {
std::cout << data[i] << " ";
}
std::cout << "\n";
}
};
// 测试部分
int main() {
IntegerList list;
list.insert(5);
list.insert(3);
list.insert(8);
list.print(); // 输出:5 3 8
list.remove(1); // 删除索引1处的元素
list.print(); // 输出:5 8
std::cout << "Find 8: " << (list.find(8) ? "Found" : "Not Found") << "\n"; // 输出:Found
return 0;
}
```
在这个例子中,我们首先创建了一个`IntegerList`类,包含数组`data`、当前大小`size`和最大容量`capacity`。然后实现了插入、删除、查找和打印功能。在主函数中对这个列表进行了实际的操作和测试。
阅读全文