歌手比赛系统用链表完成
时间: 2023-06-19 22:05:35 浏览: 83
好的,我可以为您介绍一下如何使用链表来实现歌手比赛系统。
首先,我们可以定义一个歌手类,包含歌手的姓名、所属队伍、得分等信息。然后,我们可以使用链表来存储这些歌手信息。
链表中的每个节点可以存储一个歌手对象。我们可以定义一个节点类,包含一个指向下一个节点的指针和一个指向歌手对象的指针。在链表中,每个节点的指针指向下一个节点,最后一个节点的指针为NULL。
下面是一个简单的示例代码,展示如何使用链表来实现歌手比赛系统:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义歌手类
class Singer {
public:
string name;
string team;
int score;
};
// 定义节点类
class Node {
public:
Singer* singer;
Node* next;
};
// 定义链表类
class SingersList {
public:
SingersList() {
head = NULL;
}
// 插入一个新的歌手节点
void insert(Singer* singer) {
Node* node = new Node();
node->singer = singer;
node->next = head;
head = node;
}
// 遍历链表,输出每个歌手的信息
void traverse() {
Node* node = head;
while (node != NULL) {
cout << "Name: " << node->singer->name << endl;
cout << "Team: " << node->singer->team << endl;
cout << "Score: " << node->singer->score << endl;
node = node->next;
}
}
private:
Node* head;
};
int main() {
// 创建链表
SingersList list;
// 添加歌手
Singer* singer1 = new Singer();
singer1->name = "张三";
singer1->team = "A组";
singer1->score = 100;
list.insert(singer1);
Singer* singer2 = new Singer();
singer2->name = "李四";
singer2->team = "B组";
singer2->score = 90;
list.insert(singer2);
Singer* singer3 = new Singer();
singer3->name = "王五";
singer3->team = "A组";
singer3->score = 95;
list.insert(singer3);
// 遍历链表,输出每个歌手的信息
list.traverse();
return 0;
}
```
以上是一个简单的歌手比赛系统的链表实现,您可以根据实际需求进行修改和完善。
阅读全文