• ベストアンサー

リストとは何か?

データ構造の「リスト」と、データを表の形にして処理するときの「リスト処理」のリストの本質的な違いがよくわかりません。わかりやすく教えて下さい。また、オブジェクトとしての「リストボックス」などとの違いも教えて下さい。 また、これら以外の意味をもつ「リスト」というのはありますでしょうか。

noname#7272
noname#7272

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

データ構造の「リスト」構造だけが特殊な学問上の意味(術語)を背負っていて、他は、(上から下に向かってが多いと思うが)列挙したもの、という一般的な意味で捉えて良いのでは。 データ構造-線形構造-単方向リスト・双方向リスト・環状リストの3つあり、次ぎにたどるポインターの持ち方 (持つと言うこと)を特色としている。「次ぎ」と言うものがあり、(隣と言う概念でなく)数値・記号で持っていることが特色です。「次ぎ」でたどる必要があるのは、何か背後に、共通した「もの」(同類性)があるわけです。 ブラックリスト、顧客リスト、リストアップなど、「何か背後に共通する属性」を持ったものが連なって挙げられて(記されて)いると言うことでしょう。 リストボックスのリストもこの類でしょう。 「データを表の形にして処理するときの「リスト処理」のリスト」と言う用語の使い方は見たことがありますが、何もプログラム的には具体的に処理内容を何も言っていないのでは。エクセルでは「データベース」と言っているようだし、アクセスやRDBでは「テーブル」というのですよね。 データを2次元的に整理して記述するアイデアは、非常に 有用ですが、リスト処理といってみたところで、あまり意味がないように思いますが、どんなところでどんな風に使われますか。 「リスト構造」と言う言葉はあまり使わないのですね。WEB照会して、ほとんど出ないので始めて意識しました。 「リスト処理」と言う言葉は、リスト処理言語のLISPのリスト処理、Prologのリスト処理方がよりコンピュタ向けの意味を持たされているようです。

noname#7272
質問者

お礼

有難うございました。 よくわかりました。

その他の回答 (1)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

リストには質問者の言われるように2つの大きく違う意味があります。 リスト処理という言葉は両方に使われるので混乱しやすいですね。 リストの一般的な意味は「リストアップする」に象徴される表形式の物です。 (仮にリスト表とします)。プログラミングで言えば配列に相当するものですね。 リスト構造はリスト表を1行ずつばらばらにします。そして順番を表すために ポインタ(チェイン)でお互いをつなぎます。 ポインタの数と方向によって単方向リスト、双方向リストがあり、 円形につないだものを環状リストといいます。 リスト構造の特徴はリストの1行1行がどこにあってもいいことです。 これにより、行の追加、削除、順序変更などがデータの移動 (ずらしや詰め合わせなど)なしにポインタの書き換えだけでできることです。

noname#7272
質問者

お礼

表のイメージのリスト、ポインタでリンクしたリスト構造、 がポイントですね。わかりました。 有難うございました。

関連するQ&A

  • ウェブから貼り付けたドロップダウンリストを消したい

    ウェブサイトに表示されている表を、Excelにコピペしたところ、表の上部にあるドロップダウンリストやチェックボックスといったものまでコピペされてしまいました。 このドロップダウンリストやチェックボックスはどうやったら削除できますか? 行削除を行っても、リストやボックスは消えず、表の中身の文字にかぶさるように(オブジェクトのように)表示されています。 リストやボックスをクリックすると、レ点がつくなど本来の機能としての反応しかかえってこず、右クリックもできません。 おまけに「戻る」が効かなくなります。(戻るを押すと、ボックスにカーソルがいくだけで、ボックスをクリックする状態より前に戻れない) コピペ元のウェブサイトはJavascriptを使っているようで、検索結果が表で出力されるシステムです。 この部分以外を新しいファイルにコピーすれば問題なく使えるのですが、どうやったら消せるのか気になりました。

  • STLのlistのソートについて教えてください。

    STLで何か作ってみようと思っているのですが、複数のメンバを持つ構造体オブジェクトのリスト(要素の値が構造体オブジェクトであるリスト)を、その構造体オブジェクトのメンバの中の1つのをキーとして昇順、又は降順にソートしようとした場合、どのようにすればよいのでしょうか?? http://www5c.biglobe.ne.jp/~ecb/cpp/07_08.html ここを見ると、sort() という関数があるようですが、単に昇順でソートする、としか書いていなく、構造体のリストのソートはどうするのだろうと疑問です。 詳しい方いらっしゃいましたらご教授頂けると幸いです。

  • リストボックスとDataGridコントロールについて

    「Microsoft Visual Basic 2008 Express Edition」と「Microsoft SQL Server 2005」を使用して開発することになり勉強を始めている初心者です。 リストボックスとDataGridコントロールの違いについて教えて下さい。 テーブルからある条件のデータを一覧表示して、データの追加、修正、削除処理を行いたいと思っています。 追加、修正、削除処理は、別画面で行います。 この場合の一覧表示にはリストボックスとDataGridコントロールのどちらを使用する方がよいでしょうか?

  • EXCELのリストボックスを選択した行が何行目か

    エクセルVBAの初心者です。 VBAを組んでいて表のデーターをリストボックスに表示しています 選択されたリストボックスの値はわかるのですが、リストボックスの上から 何行目を選択したかどうか知りたいのですが、わかる方がおられましたら よろしくお願いします。

  • リストボックスにチェックボックスを入れる

    リストボックスの中にいくつかのテーブルデータとチェックボックスを入れたいのですが、やり方を教えてください。 チェックボックスのテーブルを使ってクエリでやりましたが チェックボックスのチェックを入れる形にならず困っています。

  • ウェブから貼ったドロップダウンリストのコンテンツ

    ウェブサイトに表示されている表の中にドロップダウンリストがあり、それを含めてエクセルにコピペしたところ、それらコンテンツはテキストボックスのような形のままでエクセルのセルには認識されていません。 このドロップダウンリストの数値は、どうやったらエクセル内のセルに認識させることができますか? このドロップダウンリストは、それぞれのセルの中身にかぶさるように(オブジェクトのように)表示されています。 コピペ元のウェブサイトはJava(?)を使っているようです。 私のエクセルは2010です。 週末の間に仕上げなければいけないレポートがあり、シロウトの頭で色々考えたり、試したりしましたが、さっぱり解決しません。 どうぞ、助けてください。

  • Excel2010テーブルのデータをリストボックス

    こちらで度々、お世話になっております。 Excel2010のテーブル内のデータをVBAで処理しているのですが、 フィルタリングした後のデータを直接リストボックスへ表示させようとしています。 しかし、下記の様に記述すると上手くいきません。 ListBox1.List = _ Worksheets("sheet1").ListObjects(1).Range.CurrentRegion.SpecialCells(xlCellTypeVisible).Value これだと、フィルタリングの結果が インデックス行 3行目 4行目 7行目 の様に”歯抜け”になると、インデックス行だけしかリストボックスに表示されません。 何とかフィルタリングの結果をリストボックスへ表示させて、 そのリストボックスの中から選択したデータをコピーしたいのです。 何か方法がありますでしょうか? 宜しくお願いします。

  • リスト構造

    リスト構造の問題なんですが リスト構造を使ってファイルに読み込み、書き込み データの追加、一覧表示、削除といった機能を持ったプログラムを 作成しなければいけないのですがリストをつなげたり切り離したり することができません ポインタを使うところまでは分かるのですがリストをつなげたり切り離したりする部分がよく分かりません どうすればよいのでしょうか どなたか回答お願いします

  • リストボックスのリストを削除する

    リストボックスのリストを削除する アドバイスをお願いします。 下の構文でユーザーフォーム内のリストボックスに リストを表示させるようにしました。 Private Sub UserForm_Initialize()  With ListBox1 .RowSource = "データー!B3:B33" End With End Sub 表示されたリスト内で、不要になったリストをコマンドボタンの押下したときに データーシートのB3からB33の中から選択したリストと同じデーターを 探して削除する方法をお教えください。

  • リスト構造

    リスト構造がポインタを使って繋ぐ、という事はわかったのですが、例えば電話帳を作るとして、入力、保存、検索、のコマンドを作っても一度プログラムを終了するとデータは消えてしまいますよね?ファイルに保存したとしても、次に見るときにはまた、リスト構造にこれらのデータを戻すのですか?? よくわからないので教えて下さい。お願いします。

専門家に質問してみよう