我目前遇到了我現在創建的程序有問題。我已經在尋找答案,但它與我想要發生的不同,因爲這裏給出的是字符串。C#中的FIFO字符串分配#
我們被要求創建一個FIFO分配,這裏是程序作爲控制檯應用程序的流量預計:
輸入no。頁框:2
輸入no。的頁將被插入:要被插入4
頁:插在幀1中斷產生的
。
要插入的頁面:B
插入幀2.產生中斷。要被插入
頁:甲
插入失敗。 A是常駐頁面。
要插入的頁面:C
插入幀1.產生中斷。
根據FIFO分配算法,如果插入新的不同頁面,它將刪除插入幀中的最早頁面。如果該頁面已經在框架中,則頁面插入將被拒絕。
我已經做了一個,雖然我目前在試圖找出如何找到數組中最早插入的元素。
我希望你能幫助我。我已經花了很多時間,但我不知道該怎麼做。這裏是我的代碼。:
class Program
{
static void Main(string[] args)
{
int f, p, interrupt;
Console.WriteLine("Enter the number of frames: ");
f = Int32.Parse(Console.ReadLine());
string[] frame = new string[f];
Console.WriteLine("Enter the number of pages: ");
p = Int32.Parse(Console.ReadLine());
for (int i = 0; i < p; i++) {
Console.WriteLine("Page to be inserted: ");
string x = Console.ReadLine();
if (frame.Contains(x))
{
Console.WriteLine(x + " is a resident page.");
}
else {
frame[i] = x;
Console.WriteLine("Inserted in frame " + (i + 1) + ". Interrupt generated"));
interrupt +=1;
}
}
Console.ReadKey();
}
}
你能不能嘗試使用隊列爲目的。它內置了FIFO處理功能。 http://msdn.microsoft.com/en-us/library/system.collections.queue.aspx –
2013-05-08 15:51:15