C++用户输入数组长度且输入各数组的值怎么实现顺序表
时间: 2024-10-09 19:09:21 浏览: 44
使用C++实现顺序链表
在C++中,你可以通过以下步骤实现一个简单的顺序表(也称为动态数组),它允许用户输入数组长度并依次输入每个元素:
```cpp
#include <iostream>
using namespace std;
// 定义顺序表的基本结构
class ArrayList {
private:
int* elements; // 存储元素的指针
int size; // 当前数组长度
int capacity; // 数组容量
public:
// 构造函数,初始化大小为0,容量足够大
ArrayList(int initial_capacity = 5) {
capacity = initial_capacity;
elements = new int[capacity];
size = 0;
}
~ArrayList() { // 析构函数,释放内存
delete[] elements;
}
// 添加元素到列表末尾
void add(int value) {
if (size == capacity) {
resize(capacity * 2); // 如果已满,扩大容量
}
elements[size++] = value;
}
// 用户输入操作
void inputArray(int length) {
for (int i = 0; i < length; ++i) {
cout << "请输入第" << i+1 << "个元素:";
cin >> elements[i]; // 检查索引是否越界
}
}
// 显示列表内容
void display() const {
for (int i = 0; i < size; ++i) {
cout << "元素 " << i+1 << ": " << elements[i] << endl;
}
}
// 需要时调整数组容量
void resize(int new_capacity) {
int* new_elements = new int[new_capacity];
for (int i = 0; i < size; ++i)
new_elements[i] = elements[i];
delete[] elements;
elements = new_elements;
capacity = new_capacity;
}
};
int main() {
ArrayList list;
int length;
cout << "请输入数组长度:";
cin >> length;
list.inputArray(length);
cout << "输入后的数组:";
list.display();
return 0;
}
阅读全文