我正在編寫一個程序,用C#中的FIFO查找頁面錯誤。用戶提供20個字符的參考字符串或生成一個隨機的字符串。用戶也輸入幀數。FIFO頁面替換算法問題
所以,我傳遞了20個單位數字,數組幀和幀數組到我的FIFO函數。出於某種原因,我的號碼關閉,我不確定我做錯了什麼。我用4幀的參考字符串1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6進行測試,我似乎要56,我應該得到14個故障。以下是我的FIFO功能。
private static void FIFO(int numFrames, int []refString, int []frame)
{
int i, j = 0, k, fault = 0, flag = 0;
for (i = 0; i < 20; i++)
{
for (k = 0; k < numFrames; k++)
{
if (frame[k] == refString[i])
flag = 1;
}
if (flag == 0)
{
frame[j] = refString[i];
j++;
for (k = 0; k < numFrames; k++)
{
fault++;
}
}
else
{
flag = 0;
}
if (j == numFrames)
{
j = 0;
}
}
Console.WriteLine("\nThe number of page faults with FIFO is: " + fault);
}
什麼是你的框架陣列? – Noctis
只是一個大小爲7的int數組(7是允許的最大幀數)它被命名爲「幀」 – user3015999