2

私は C++ が初めてで、Linked List を扱っています。しかし、Linked List クラスを書いている間、私は混乱しています。サッカーリーグのコードを書こうとしています。各チームをリンクされたリストに保持しようとしています。各チームにはプレーヤーがいるので、リンクされたリストにも保存したいと思います。したがって、リンク リスト クラスには、リンク リストを指すメンバーが必要です。これは、作成中のクラスと同じプロパティです。それは可能ですか?

4

3 に答える 3

3

はい。チーム リストのノードには、プレーヤーのリストが含まれます。使えない場合std::list

struct Player
{
    Player* nextPlayer;
};

struct Team
{
    Team* nextTeam;
    Player* firstPlayer;
};

リストがこれをモデル化するのに最適な構造ではないことは確かです。

于 2012-05-05T10:20:38.867 に答える
1

常にリスト内のプレーヤーとチームを使用したくない場合があるため、次の構造をお勧めします。

struct PlayerNode
{
    Player* item;
    PlayerNode* nextNode;
};

struct TeamNode
{
    Team* item;
    TeamNode* nextNode;
};

struct Team {
    // ...
    PlayerNode* firstPlayer;
};

これにより、チームまたはプレーヤーをスタンドアロンオブジェクトとして使用できます(他のチーム/プレーヤーに接続されていません)。しかし、チーム内では、そのプレーヤーにアクセスすることもできます。これは望ましいことだと思います。

于 2012-05-05T11:14:34.510 に答える
0

C++ を使用している場合は、代わりに STL を使用してください。一例をベクトルで説明しています

これがヒエラルキーだとします 2 つのリーグがあり、リーグ 1、リーグ 2 にはそれぞれ 2 つのチームがあり、チーム 1、チーム 2 にはそれぞれ 10 人のプレーヤーがいます P1、P2

1 つのチームのすべてのプレーヤーは、temp_team という名前のベクトルに格納できます。すべての temp_team は、temp_league という名前のベクトルにプッシュできます。すべての temp_league ベクトルは、footBall、League、watever という名前のベクトルにプッシュできます。

于 2015-07-29T06:19:21.037 に答える