用c++写一个程序:编写两个函数,实现链表的建立和输出,主函数调用。
时间: 2024-02-25 11:58:22 浏览: 32
好的,以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
// 定义链表节点结构体
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
// 建立链表
ListNode* createList() {
int n; // 链表节点个数
cout << "请输入链表节点个数:";
cin >> n;
if (n == 0) {
return NULL;
}
ListNode* head = NULL; // 头节点
ListNode* tail = NULL; // 尾节点
for (int i = 0; i < n; i++) {
int val;
cout << "请输入第 " << i + 1 << " 个节点的值:";
cin >> val;
ListNode* node = new ListNode(val); // 创建新节点
if (head == NULL) {
head = node;
} else {
tail->next = node;
}
tail = node;
}
return head;
}
// 输出链表
void printList(ListNode* head) {
cout << "链表的值为:";
while (head != NULL) {
cout << head->val << " ";
head = head->next;
}
cout << endl;
}
int main() {
ListNode* head = createList(); // 建立链表
printList(head); // 输出链表
return 0;
}
```
运行结果:
```
请输入链表节点个数:3
请输入第 1 个节点的值:1
请输入第 2 个节点的值:2
请输入第 3 个节点的值:3
链表的值为:1 2 3
```
需要注意的是,链表节点结构体中的 `val` 表示节点的值,`next` 表示下一个节点的指针。在建立链表时,我们需要遍历输入每个节点的值,并创建新节点,将其挂在链表的尾部。在输出链表时,我们需要遍历链表并输出每个节点的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)