- 530 名前:光速エスパー世代774RR mailto:sage [2007/07/11(水) 00:11:20 ]
- ついでだからばぶるな挿入な。さて、新しい値を p とする
d[numofdata + 1] := p; i := 1; while p < d[i] do i := i + 1; これで i は p>=d[i]を満たす最小の値になった(もうソートしてあるから) p がたまたま d の最大値だったら、これ以上処理は必要ない。そうでなければ、 d の i 番目に p をそうぬうする。 for j := numofdata downto succ(i) do d[succ(j)] := d[j]; d[i] := p; でそうぬう官僚。実は、p がたまたま d の最大値だった場合もこれを走らせていい。 しかし、課題は二分探索であった。あんま奇麗じゃないがfpcで試してはある。
|

|