配列で実現したリストの特徴
出典: 令和4年度 春期 応用情報技術者試験 午前 問5 (IPA)
リストには,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれか。ここで,配列を用いたリストは配列に要素を連続して格納することによってリストを構成し,ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。
- ア リストにある実際の要素数にかかわらず,リストに入れられる要素の最大個数に対応した領域を確保し,実際には使用されない領域が発生する可能性がある。
- イ リストの中間要素を参照するには,リストの先頭から順番に要素をたどっていくことから,要素数に比例した時間が必要となる。
- ウ リストの要素を格納する領域の他に,次の要素を指し示すための領域が別途必要となる。
- エ リストへの挿入位置が分かる場合には,リストにある実際の要素数にかかわらず,要素の挿入を一定時間で行うことができる。
正解と解説を見る
正解: ア
- ア: 配列は最大個数分の領域を先に確保するので、使われない領域が発生することがあります。正しい答えです。
- イ: 先頭から順にたどる必要があるのは、ポインタを用いたリストです。配列は添字で直接参照できます。
- ウ: 次の要素へのポインタの領域が必要なのは、ポインタを用いたリストです。
- エ: 挿入を一定時間で行えるのは、ポインタを用いたリストです。配列では後ろの要素をずらす必要があります。
ポイント
- 配列によるリスト: あらかじめ 最大個数分の領域を確保 します。添字で中間の要素にすぐアクセスできますが、挿入・削除では後ろの要素をずらす必要があります。
- ポインタによるリスト: 必要な分だけ領域を使いますが、次の要素へのポインタの領域が必要で、中間の要素には先頭からたどる必要があります。挿入位置が分かれば挿入は一定時間でできます。