プロが教えるわが家の防犯対策術!

ダミーノードがある場合の、単方向リストの長さを求める関数を作りたいです。
よろしくお願いします

A 回答 (4件)

終端ノードの NEXTポインタが NULL になる実装だと


NEXTポインタが NULLになるまで NEXTポインタを辿りつつ
ノードの数を数えるだけだよね?

ダミーノードが何なのかわからんけど、ダミーのヘッダノードの
ことなら、ヘッダノードを個数に含めなければいい。

int foo(Node *head)
 int n = 0
 Note *p = head->next
 while (p != NULL) {
  n++;
  p = p->next;
 }
 return n
}

/* Note は好きなように設計するように */

オンライン直書きでデバッグしてないので
誤っていたらごめん。
    • good
    • 0

C言語に単方向リストの機能は無いです。


それを自作するところからやれという、学校の宿題か何かでしょうか。
    • good
    • 1

リストを手繰って、個数をカウントするしかないかと。


その際、ダミーを数えないなら、そのようにすればよいです。
    • good
    • 1

「質問」はなに?

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!