タグ

プログラミングとCに関するkjktkのブックマーク (1)

  • ポインタ虎の巻~リスト構造

    構造体を使った応用例として、リスト構造が挙げられる。リスト構造は非常に質的なデータ構造の一つであり、応用範囲が非常に広い。このリスト構造に習熟することがC言語初級卒業試験であるといっても過言ではない。 なぜリスト構造がこれほどに重要なのかというと、削除や挿入が簡単に出来るからである。配列の場合、とくに挿入はコスト高である。配列データの次に新しいデータを挿入するには、それ以降のデータを全部1つづつずらしてやらなければならない。削除の場合にもデータを詰める作業をするか、別個にフラグを持たせて「無効データ」をマーキングしてやる必要がある。 それに対し、リスト構造は挿入を低いコストで行うことができるが、その代わりに配列のように添字によるランダムアクセスはできなくなる。だから、添え字によるランダムアクセスのコストと、挿入のコストとのトレードオフとして選択すべきであるが、一般に有用なケースは非常に多

  • 1