我是C++的新手,我正在处理链表。然而,当我在编写一个链表类时,我对此感到困惑。我正在试着为足球联赛写一段代码。我试图将每支球队都放在一个链表中,因为每支球队都有球员,所以我想把他们也存储在一个链表中。所以这个链表类应该有一个指向链表的成员,这个链表和我写的这个类的属性是一样的。这有可能吗?
发布于 2012-05-05 18:20:39
是。球队列表的节点将包含球员列表。如果你不能使用std::list
struct Player
{
Player* nextPlayer;
};
struct Team
{
Team* nextTeam;
Player* firstPlayer;
};我非常确定列表不是对此进行建模的最佳结构。
发布于 2012-05-05 19:14:35
我更喜欢下面的结构,因为你可能不想总是在列表中使用球员和球队:
struct PlayerNode
{
Player* item;
PlayerNode* nextNode;
};
struct TeamNode
{
Team* item;
TeamNode* nextNode;
};
struct Team {
// ...
PlayerNode* firstPlayer;
};这允许您将球队或球员作为独立对象使用(不连接到其他球队/球员)。但在一个团队中,你也可以访问它的球员,我想这是可取的。
发布于 2015-07-29 14:19:21
如果你使用的是C++,那就改用STL。我用向量来解释一个例子。
假设这是一个等级制度,你有2个League1,League2每个有2个球队Team1,Team2每个球队有10个P1,P2
一支球队的所有球员都可以存储在一个名为temp_team的向量中,所有的temp_team都可以推送到一个名为temp_league的向量中,所有的temp_league向量都可以推送到一个名为footBall,temp_league,watever的向量中。
https://stackoverflow.com/questions/10460879
复制相似问题