問題
リストには,配列で実現する場合とポインタで実現する場合がある。リストを配列で実現した場合の特徴として,適切なものはどれか。ここで,配列を用いたリストは配列に要素を連続して格納することによってリストを構成し,ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。
選択肢
- 1リストにある実際の要素数にかかわらず,リストに入れられる要素の最大個数に対応した領域を確保し,実際に使用されない領域が発生する可能性がある。
- 2リストの中間要素を参照するには,リストの先頭から順番に要素をたどっていくことから,要素数に比例した時間が必要となる。
- 3リストにある要素を格納する領域の他に,次の要素を指し示すための領域が別途必要となる。
- 4リストへの要素の挿入位置が分かる場合には,リストにある実際の要素数にかかわらず,要素の挿入を一定時間で行うことができる。
正解
1. リストにある実際の要素数にかかわらず,リストに入れられる要素の最大個数に対応した領域を確保し,実際に使用されない領域が発生する可能性がある。
詳しい解説を見る解説を閉じる
解説
配列で実現するリストは,あらかじめ最大個数分の連続領域を確保するため,実際の要素数が少ないと未使用領域が無駄になる可能性がある(ア)。中間要素は添字で直接アクセスできるためイは誤り。ポインタ用の追加領域が必要なのはポインタ実現の特徴でウは誤り。配列では挿入時に後続要素のシフトが必要でエも誤り。(出典: 令和4年度 春期 応用情報技術者試験 午前 問5)
一問一答
全400問を繰り返し学習