- 97 名前:92 mailto:sage [2007/11/10(土) 15:24:02 ]
- >>95
はい、そこまでは解っています。どういう処理と言うか、tがNULLでなく、 t->lもNULLでない場合にどういう手順で動いてるかが解らなくて。 tがNULLでなく、t->lもNULLでない場合を考えたとして、 >>96さんの図で言えば、一番左下に位置している○が最小ですよね。 そして、一番左下の○まで来て、さらに再帰呼び出しをすると、 3行目のif(t != (struct node *)NULL)で条件に一致せずに、 9行目のreturn m;に進んで、ここで、どうなるんですか? 2行目でstruct node *m = (struct node *)NULL;としているので、 戻り値は、このアドレスになって、7行目のm = min(t->l);で、mに 代入しても、最小値のアドレスになりませんよね…
|

|