帮我用链表写一个新增校友信息的函数,信息为String型的名字,String型的毕业时间,String型的性别,long int型的手机号
时间: 2024-06-08 20:08:20 浏览: 82
好的,以下是一个简单的链表结构,以及新增校友信息的函数:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义校友信息结构体
struct Alumni{
string name; // 名字
string graduation_date; // 毕业时间
string gender; // 性别
long int phone_number; // 手机号
Alumni* next; // 指向下一个节点的指针
};
// 新增校友信息函数
void addAlumni(Alumni *&head, string name, string graduation_date, string gender, long int phone_number){
// 创建新节点
Alumni *new_node = new Alumni;
new_node->name = name;
new_node->graduation_date = graduation_date;
new_node->gender = gender;
new_node->phone_number = phone_number;
new_node->next = nullptr;
// 如果链表为空,则将新节点作为头节点
if(head == nullptr){
head = new_node;
return;
}
// 找到最后一个节点
Alumni *last_node = head;
while(last_node->next != nullptr){
last_node = last_node->next;
}
// 将新节点链接到最后一个节点的后面
last_node->next = new_node;
}
int main(){
// 定义头节点
Alumni *head = nullptr;
// 新增校友信息
addAlumni(head, "张三", "2020年6月", "男", 13888888888);
addAlumni(head, "李四", "2019年6月", "女", 13999999999);
// 遍历链表并输出校友信息
Alumni *current_node = head;
while(current_node != nullptr){
cout << "名字:" << current_node->name << endl;
cout << "毕业时间:" << current_node->graduation_date << endl;
cout << "性别:" << current_node->gender << endl;
cout << "手机号:" << current_node->phone_number << endl;
current_node = current_node->next;
}
return 0;
}
```
在这个示例中,我们定义了一个 `Alumni` 结构体来存储校友的信息,并使用 `Alumni*` 类型的指针来链接不同的节点。 `addAlumni` 函数接受四个参数:名字、毕业时间、性别和手机号,并将它们存储在一个新的 `Alumni` 节点中,然后将该节点链接到链表的末尾。最后,我们遍历链表,输出每个节点的信息。
注意,在 `addAlumni` 函数中,我们使用了一个指向指针的引用 `Alumni *&head`,这是因为我们需要修改头指针,以便它指向新的节点。如果我们只传递 `Alumni *head`,那么将无法修改头指针的值。
阅读全文