双方向リスト
リスト構造の利点と欠点 リストを使った集合演算のように、データを連ねたリストは、単純リストとか線形リストと呼ばれる。特徴はデータ数に応じてメモリを確保する点や、途中へのデータの挿入削除が得意な点があげられる。一方で、配列 […]
集合とリスト処理
リストを用いた待ち行列の補足 # リストによる待ち行列を早速に創造工学演習で応用した人からの質問より… 以前に説明したリストを用いた待ち行列(queue)において、時間的都合から詳しく説明できなかった点の注意 […]
集合とビット演算
リスト構造は、必要に応じてメモリを確保するデータ構造であり、データ件数に依存しないプログラム が記述できる。その応用として、集合処理を考えてみる。 bit演算子 2進数を使った処理をする時には、bit演算子を用いる。 b […]
スタックと待ち行列
前回の授業では、リストの先頭にデータを挿入する処理と、末尾に追加する処理について説明したが、この応用について説明する。 計算処理中に一時的なデータの保存として、stackとqueueがよく利用される。それを配列を使って記 […]
リスト処理基本の回答
前回授業の、sum(),max(),mean(),find() のループ版や、再帰版のプログラム例 // 合計ループ版 int sum( struct List* p ) { int s = 0 ; for( ; p ! […]
リストへの追加処理
最初のリスト生成の説明では、補助関数 cons を用いて、直接リストを生成していた。 しかし、実際にはデータを入力しながらの処理となるであろう。 最も単純なリスト挿入 struct List { int data ; s […]
バックスラッシュと円マーク
授業のC言語のプログラムで printf 関連でいくつか質問を受けることが多いのでメモ Visual Studio では printf_s() , scanf_s() を使う Microsoft の Visual Stu […]
リスト処理
リスト構造 リスト構造は、データと次のデータへのポインタで構成され、必要に応じてメモリを確保することで、配列の上限が制限にならないようにする。また、次のデータへのポインタでつなげているため、途中へのデータ挿入が簡単にでき […]
リスト構造について
データ処理において、配列は基本的データ構造だが、動的メモリ確保の説明で述べたように、基本の配列では大きさを変更することができない。これ以外にも、配列は途中にデータを挿入・削除を行う場合、の処理時間を伴う。以下にその問題点 […]
遠隔の小テストを実施
遠隔授業の中、自分の担当科目で中間試験(小テスト)を実施した。学校としてはレポート課題で評価していいとの話なのでテスト形式の必要性はないけど、レポート課題方式ばかりだと後々の理解力が心配だし、やってみた。 Teamsでテ […]