1

メイン リストを作成したいのですが、メイン リスト要素のそれぞれに別のリストがあります。

これが私がしたことです

    typedef struct smallList
    {   char data;
        struct smallList *next;  

     } small;

    typedef struct bigList
    {
        int count;
        char data;
        struct bigList *next;
        struct smallList *head;
     } big;

しかし、大きなリストから小さなリストのデータにアクセスして、小さなリストに何かを追加するにはどうすればよいですか。どんな助けでも大歓迎です。ありがとう....

4

2 に答える 2

2

したがって、この構造体がすでに入力されていると仮定すると、次のことができます。

struct smallList *smallElem = NULL;
struct bigList *bigElem = NULL;

for (bigElem = your_big_list(); bigElem != NULL; bigElem = bigElem->next) {
    // Do something with bigElem.

    for (smallElem = bigElem->head; smallElem != NULL; smallElem = smallElem->next) {
        // Do something with the smallElem.
        // Note that we can still reference bigElem here as well.
    }
}
于 2013-02-28T19:34:53.607 に答える
1

pbigList を指している場合:

  • bigList -> headbigList が指す小さなリストです。
  • (bigList -> head).datasmallList に含まれる文字です。
  • (bigList -> next -> head)bigList の 2 番目の smallList です。
  • (bigList > head -> next)bigList の最初の smallList の 2 番目の要素です。

変更したい構造へのポインターを取得した後は、他のすべては同じです。

于 2013-02-28T19:35:07.740 に答える