建立具有三个结点的链表并输出链表。结点数据为学号、姓名。其中main函数代码如下: int main() { st *head; head=input(); print (head); return 0; }要求:用C++实现,头文件使用iostream
时间: 2024-02-03 18:04:11 浏览: 27
好的,下面是使用 C++ 实现的代码:
```c++
#include <iostream>
using namespace std;
class Node {
public:
int num;
string name;
Node *next;
Node(int num, string name) {
this->num = num;
this->name = name;
this->next = NULL;
}
};
Node *input() {
Node *head, *p, *q;
int i;
head = p = new Node(0, "");
cout << "请输入第1个学生的学号和姓名:";
cin >> p->num >> p->name;
for (i = 2; i <= 3; i++) {
q = new Node(0, "");
cout << "请输入第" << i << "个学生的学号和姓名:";
cin >> q->num >> q->name;
p->next = q;
p = q;
}
p->next = NULL;
return head;
}
void print(Node *head) {
Node *p = head;
int i = 1;
while (p != NULL) {
cout << "第" << i << "个学生的学号和姓名:" << p->num << " " << p->name << endl;
p = p->next;
i++;
}
}
int main() {
Node *head;
head = input();
print(head);
return 0;
}
```
这个程序会输出以下结果:
```
请输入第1个学生的学号和姓名:1 张三
请输入第2个学生的学号和姓名:2 李四
请输入第3个学生的学号和姓名:3 王五
第1个学生的学号和姓名:1 张三
第2个学生的学号和姓名:2 李四
第3个学生的学号和姓名:3 王五
```
在这个程序中,我们使用了 `class` 来定义了一个类 `Node`,表示链表中的一个结点。我们在 `main()` 函数中调用了 `input()` 函数来创建具有三个结点的链表,并使用 `print()` 函数来输出链表中的所有结点。注意,在 C++ 中,我们使用 `new` 关键字来动态地分配内存,使用 `delete` 关键字来释放内存。