• ベストアンサー

リストについて

リストについてよくわからないのですが、ネットで調べても キーワードが悪いのか出てきません。 リストの仕組み?動きなどについて書かれたサイトなど知っている方がいましたら教えて頂きたい思います。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • buihyaku
  • ベストアンサー率29% (97/326)
回答No.3

C/C++でのプログラミングに限定した話しになりますが、 参考URLの[7.2リスト]がわかりやすそうです。 配列とリストの違いは 配列は物理的に連続したデータの集まりであり インデックスを指定して任意の位置をすばやく参照できるかわりに、中間位置のデータの挿入削除したときにその後ろのデータをずらしたりする必要があり遅い。また配列サイズの変更も新たな領域を確保して移しかえる操作が必要。 リストは物理的にバラバラ位置にあるデータをポインタで指し示す形で連結したもの データの参照はポインタを先頭からたどっていく必要があり遅いが、挿入削除はポインタを付け替えるだけなので速い。ポインタでデータをつなげていくだけなのでサイズの上限もない。 ご質問の意図とずれていたらごめんなさい。

参考URL:
http://ysserve.int-univ.com/sugsi/Lecture/c2/e_07.html
noname#114571
質問者

お礼

お返事ありがとうございました。 さっとサイトの方見てみたのですが、わかりやすそうでした。 後でじっくり見てみようと思います。 回答者さんがおっしゃっているようなことが本にも書いてあったのですが 説明がよく理解でず、いいサイトを教えてくださったので、そちらを見てみようと思います。

その他の回答 (2)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

リストとは「複数の要素をひとまとめにしたもの」で、多くの場合は要素間に何らかの順序関係があります。 例えば箇条書き。これはリストの一種で、1番目、2番目、3番目・・・といった一次元的な順序関係があります。 質問の内容から具体化できるのはこの程度でしょう。 プログラミング言語の世界に限定すると、例えば・・・   リストとは、最小の要素(アトム)の集まりである。 のようになるのでしょうかね。言語の数だけ定義が出来そうですね。(ちなみに、その一覧もまたリストです。)

  • Quant
  • ベストアンサー率18% (23/122)
回答No.1

"線形リスト C言語"とかで検索すると結構あります。 ポインタとか双方向リスト、構造体なんかで検索しても見つかると思います。

noname#114571
質問者

お礼

お返事ありがとうございました。 ネットで気ワード入れて探してみようと思います。

関連するQ&A