- ベストアンサー
リストとは何か?
データ構造の「リスト」と、データを表の形にして処理するときの「リスト処理」のリストの本質的な違いがよくわかりません。わかりやすく教えて下さい。また、オブジェクトとしての「リストボックス」などとの違いも教えて下さい。 また、これら以外の意味をもつ「リスト」というのはありますでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
データ構造の「リスト」構造だけが特殊な学問上の意味(術語)を背負っていて、他は、(上から下に向かってが多いと思うが)列挙したもの、という一般的な意味で捉えて良いのでは。 データ構造-線形構造-単方向リスト・双方向リスト・環状リストの3つあり、次ぎにたどるポインターの持ち方 (持つと言うこと)を特色としている。「次ぎ」と言うものがあり、(隣と言う概念でなく)数値・記号で持っていることが特色です。「次ぎ」でたどる必要があるのは、何か背後に、共通した「もの」(同類性)があるわけです。 ブラックリスト、顧客リスト、リストアップなど、「何か背後に共通する属性」を持ったものが連なって挙げられて(記されて)いると言うことでしょう。 リストボックスのリストもこの類でしょう。 「データを表の形にして処理するときの「リスト処理」のリスト」と言う用語の使い方は見たことがありますが、何もプログラム的には具体的に処理内容を何も言っていないのでは。エクセルでは「データベース」と言っているようだし、アクセスやRDBでは「テーブル」というのですよね。 データを2次元的に整理して記述するアイデアは、非常に 有用ですが、リスト処理といってみたところで、あまり意味がないように思いますが、どんなところでどんな風に使われますか。 「リスト構造」と言う言葉はあまり使わないのですね。WEB照会して、ほとんど出ないので始めて意識しました。 「リスト処理」と言う言葉は、リスト処理言語のLISPのリスト処理、Prologのリスト処理方がよりコンピュタ向けの意味を持たされているようです。
その他の回答 (1)
- ymmasayan
- ベストアンサー率30% (2593/8599)
リストには質問者の言われるように2つの大きく違う意味があります。 リスト処理という言葉は両方に使われるので混乱しやすいですね。 リストの一般的な意味は「リストアップする」に象徴される表形式の物です。 (仮にリスト表とします)。プログラミングで言えば配列に相当するものですね。 リスト構造はリスト表を1行ずつばらばらにします。そして順番を表すために ポインタ(チェイン)でお互いをつなぎます。 ポインタの数と方向によって単方向リスト、双方向リストがあり、 円形につないだものを環状リストといいます。 リスト構造の特徴はリストの1行1行がどこにあってもいいことです。 これにより、行の追加、削除、順序変更などがデータの移動 (ずらしや詰め合わせなど)なしにポインタの書き換えだけでできることです。
お礼
表のイメージのリスト、ポインタでリンクしたリスト構造、 がポイントですね。わかりました。 有難うございました。
お礼
有難うございました。 よくわかりました。