基礎理論
アルゴリズム
コンピュータ構成要素
システム構成要素
ソフトウェア
ハードウェア
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
システム開発技術
ソフトウェア開発管理技術
😀 mypage
🥇 ranking
📊 chart
📏 rule
No.50 十分な大きさの配列Aと初期値が0の変数pに対して,関数f(x)とg()が次のとおり定義されている。
配列Aと変数pは,関数f(x)とg()だけでアクセス可能である。
これらの関数が操作するデータ構造はどれか。


function f(x) {
 p=p+1;
 A[p]=x;
 return None;
}
function g() {
 x=A[p];
 p=p-1;
 return x;
}
⭕️
💾
🖊 ☑️
⭕️ [[ AnswerCalc[0] ]] % A [[ AnswerCalc[1] ]]
この2つの関数で使われている変数pは現在の配列の要素数を保持している変数で、このことを踏まえると、f(x)は、配列の最後に引数であるxを代入する関数、g()は、配列の最後の要素を返す関数と考えることができます。
「配列の最後にデータを追加する」および「最後に追加されたデータを取り出す」という2つの操作を合わせるとLIFO(Last In First Out,後入れ先出し)のデータ構造が実現されることになります。選択肢の中でLIFOのデータ構造はスタックだけなのでこれが正解となります。
💾 ✔️
[[ d.CommentTxt ]]
🏠 >   基本情報技術者試験 >     テクノロジー >     アルゴリズム >  
< >
🥇