编写程序,建立一个有3个结点的单向链表,每个结点包含姓名,年龄和工资。编写两个函数,一个用于建立链表,另一个用来输出链表
时间: 2023-08-04 07:25:34 浏览: 115
好的,我理解了你的问题。以下是一个简单的 C++ 程序,用于创建和输出一个包含三个结点的单向链表:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义链表结点结构体
struct Node {
string name;
int age;
double salary;
Node* next;
};
// 创建链表函数
Node* createList() {
Node* head = new Node; // 头结点
head->next = nullptr;
Node* p = head;
for (int i = 1; i <= 3; i++) {
Node* temp = new Node;
cout << "请输入第 " << i << " 个结点的信息:\n";
cout << "姓名:";
cin >> temp->name;
cout << "年龄:";
cin >> temp->age;
cout << "工资:";
cin >> temp->salary;
temp->next = nullptr; // 新结点的 next 指针初始化为 nullptr
p->next = temp; // 将新结点接到链表尾部
p = temp; // 更新 p 指针
}
return head;
}
// 输出链表函数
void printList(Node* head) {
Node* p = head->next; // 跳过头结点
while (p != nullptr) {
cout << "姓名:" << p->name << ",年龄:" << p->age << ",工资:" << p->salary << endl;
p = p->next;
}
}
// 主函数
int main() {
Node* head = createList();
printList(head);
return 0;
}
```
这个程序首先定义了一个链表结点结构体 `Node`,其中包含姓名、年龄、工资和指向下一个结点的指针 `next`。然后,程序定义了两个函数:
- `createList()`:用于创建一个包含三个结点的单向链表,返回链表的头结点指针。
- `printList()`:用于输出链表中所有结点的信息,接受链表的头结点指针作为参数。
在主函数中,程序先调用 `createList()` 函数创建链表,然后调用 `printList()` 函数输出链表中的结点信息。
阅读全文