トップページ > プログラム > 2015年07月25日 > 5K8h4x4y

書き込み順位&時間帯一覧

11 位/177 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000033000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミングのお題スレ Part7 [転載禁止]©2ch.net
C/C++の宿題片付けます 169代目 [転載禁止]©2ch.net

書き込みレス一覧

プログラミングのお題スレ Part7 [転載禁止]©2ch.net
481 :デフォルトの名無しさん[sage]:2015/07/25(土) 17:23:05.26 ID:5K8h4x4y
当然ポインタからアドレス値を得ることもNGだよな
ポインタは異なることが識別できれば良いだけの
内部情報で、不定長さビットストリームと仮定
プログラミングのお題スレ Part7 [転載禁止]©2ch.net
482 :デフォルトの名無しさん[sage]:2015/07/25(土) 17:25:54.14 ID:5K8h4x4y
辿れることは仮定
循環があればリスト要素数は∞とカウントされるんで
少ないメモリ領域とやらのサイズをリスト要素サイズで割った値を
超えたら循環が発生してるんだろうね。
本当問題にもならない
プログラミングのお題スレ Part7 [転載禁止]©2ch.net
484 :デフォルトの名無しさん[sage]:2015/07/25(土) 17:28:38.67 ID:5K8h4x4y
B木などのように分岐する木の場合は、辿る時は
段を設定しそれを超えたらまだ伸びていても再帰
呼び出しから復帰。段を増やしながら辿利直す
プログラミングのお題スレ Part7 [転載禁止]©2ch.net
489 :デフォルトの名無しさん[sage]:2015/07/25(土) 18:02:07.17 ID:5K8h4x4y
メモリ領域のサイズ取得が不可能な場合

辿れる(=ノードの分岐数に上限を設定できる)
という前提からほぼ線形リストを前提とできる。

循環があれば、循環の(リスト先頭からみた)先頭と
循環周期の組(h,c)が決まる筈
(h,c)=(0,1)(0,2)(0,3)....(1,1),(1,2)...(2,1),(2,2),...のどれか

(h,c)=(2,3)
先頭から見て2番目の要素が周期3の循環を持つ

(m,n)であるかどうかのチェックは簡単なコードで
配列とか必要とせずに書ける。
h+c=1 となる有限の組み合わせに対してチェックし...
h+c=2 となる有限の組み合わせに対してチェックし...
h+c=3 となる有限の組み合わせに対してチェックし...
....
効率とか無視したらこんな感じかな?
プログラミングのお題スレ Part7 [転載禁止]©2ch.net
492 :デフォルトの名無しさん[sage]:2015/07/25(土) 18:16:11.40 ID:5K8h4x4y
(m,n)かどうかのチェックコード
NILリスト終端を表すリスト
LIST_HEAD:リスト先頭
戻り:1循環あり,0:循環なし
int chk(int m,int n){
list *p=LIST_HEAD,*q;
int i;
for(i=0;i<m;i++){
p=p->next;
if(p==NIL)return 0;
}
for(q=p->next,i=0;i<n;i++,q=q->next){
if(q==NIL)return 0;
if(q==p)return 1;
}
return 0;
}
周期の定義のしかたでちょっと変わる
かもしれないがこんな感じか
C/C++の宿題片付けます 169代目 [転載禁止]©2ch.net
525 :デフォルトの名無しさん[sage]:2015/07/25(土) 18:26:49.66 ID:5K8h4x4y
kwsk


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。