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