创建单链表,输入十个数,逆序输出
时间: 2024-12-21 19:29:41 浏览: 3
创建单链表并逆序输出十个数,可以分为以下几个步骤:
首先,我们需要定义一个节点结构,包含一个值和指向下一个节点的指针:
```cpp
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {} // 构造函数
};
```
然后,我们可以编写一个主函数来接收用户输入,构建链表并逆序输出:
```cpp
void inputNumbers(ListNode*& head) {
ListNode* prev = nullptr; // 初始化前驱节点为NULL
for (int i = 0; i < 10; ++i) {
int number;
std::cout << "请输入第 " << i + 1 << " 个数:";
std::cin >> number;
ListNode* newNode = new ListNode(number);
newNode->next = head;
prev = newNode; // 更新前驱节点
head = newNode; // 现在的新节点将成为新的头结点
}
}
void reversePrintList(ListNode* head) {
ListNode* current = head;
while (current != nullptr) {
std::cout << current->val << " ";
current = current->next;
}
}
int main() {
ListNode* head = nullptr;
inputNumbers(head);
reversePrintList(head);
return 0;
}
```
在这个例子中,`inputNumbers`函数用于接收10个数字并将它们插入链表,而`reversePrintList`则通过遍历链表的逆序来打印出数值。
阅读全文