tacop 2.2.2 シーケンシャル アロケーションの作業中に、247 ページのメモリ セクションを再パックしているときに、いくつかの問題に遭遇しました。
主題は、共通領域の場所 L0 < L < LX を共有する n 個のスタックがあることです。最初に、1 <= j <= n に対して BASE[j] = TOP[j] = L0 を設定します。
目標は、スタック i に関して要素を挿入または削除しているときにオーバーフローが発生した場合、メモリを再パックする方法です。(まだいっぱいになっていないテーブルから一部を取り除いて、スタック i のためのスペースを作ります)。
a)。i < k < n かつ TOP[k] < BASE[k+1] となる最小の k を見つけます (そのような k が存在する場合)。1 ノッチ上に移動、設定 CONTENTS(L+1) -> CONTENTS(L)、 for TOP[k] >= L > BASE[i+1] 最後に、設定 BASE[j] -> BASE[j] + 1 、TOP[j] -> TOP[j] + 1、i < j < k の場合
ここに私の質問があります:
まだ埋まっていないスタックをどのように見つけるのでしょうか? スタックk? そして、なぜ最小のkを選んだのですか?