我是C++的新手,我正在处理链表。但是,当我编写链表类时,我很困惑。我正在尝试为足球联赛编写代码。我正在尝试将每个团队保存在链表中,由于每个团队都有球员,我也想将它们存储在链表中。因此,链表类应该有一个成员来指向链表,该链表与我正在编写的类具有相同的属性。可能吗?
是的。球队列表的节点将包含球员列表。如果您无法使用std::list
:
struct Player
{
Player* nextPlayer;
};
struct Team
{
Team* nextTeam;
Player* firstPlayer;
};
我很确定列表不是对此进行建模的最佳结构。
我更喜欢以下结构,因为您可能不希望总是在列表中使用球员和球队:
struct PlayerNode
{
Player* item;
PlayerNode* nextNode;
};
struct TeamNode
{
Team* item;
TeamNode* nextNode;
};
struct Team {
// ...
PlayerNode* firstPlayer;
};
这允许您将团队或玩家用作独立对象(不连接到其他团队/玩家)。但是在一个团队中,你也可以访问它的球员,我想这是可取的。
如果您使用的是C++则改用 STL。我正在用矢量解释一个例子
假设这是继承制您有 2 个联赛 1, 联赛 2每个团队有2个团队 团队1,团队2每队有10名球员P1,P2
一支球队的所有球员都可以存储在名为 temp_team 的向量中所有temp_team都可以推送到名为 temp_league 的向量所有temp_league向量都可以推送到名为footBall,League,watever的向量。