我在主函数里输入一个值n,然后在主函数外部构造一个长度为n的链表再返回主函数,怎么实现
时间: 2024-10-15 13:24:21 浏览: 3
在C++中,你可以通过创建一个动态数组或链表类来实现这个功能。这里是一个简单的例子,使用`std::vector`来表示动态数组,因为它更直观易懂:
```cpp
#include <iostream>
#include <vector>
// 定义链表节点类(如果使用链表)
class ListNode {
public:
int data;
ListNode* next;
};
// 动态数组构造函数
std::vector<int> createList(int n) {
std::vector<int> list(n); // 创建一个长度为n的空向量
for (int i = 0; i < n; ++i) {
std::cout << "请输入第 " << (i + 1) << " 个元素: ";
std::cin >> list[i]; // 输入并存储每个元素
}
return list;
}
int main() {
int n;
std::cout << "请输入链表的长度: ";
std::cin >> n;
// 使用createList函数生成链表
std::vector<int> myList = createList(n);
// 打印链表内容
for (const auto& element : myList) {
std::cout << element << " ";
}
return 0;
}
```
在这个例子中,`createList`函数接收用户输入,创建并填充了一个`std::vector`。然后在主函数中调用这个函数,并打印出链表的内容。
如果你想使用链表,可以替换`ListNode`和相应的插入数据方法。请注意,这里没有直接返回链表,而是返回了链表的所有元素。如果你需要链表对象本身,你需要设计一个合适的返回类型,例如指针或引用。
阅读全文