用c++实现最佳页面置换算法
时间: 2024-06-01 12:04:13 浏览: 10
最佳页面置换算法(OPT)是一种页面置换算法,它选择在未来最长时间内不再被访问的页面进行置换。下面是用C++实现最佳页面置换算法的示例代码:
```cpp
#include<iostream>
using namespace std;
int main()
{
int n, m, page[100], frame[100], cnt = 0, hit = 0, miss = 0, pos, maxn;
bool flag;
cout << "请输入物理块数:";
cin >> n;
cout << "请输入页面个数:";
cin >> m;
cout << "请输入每个页面的编号:";
for(int i = 0; i < m; i++)
cin >> page[i];
for(int i = 0; i < n; i++)
frame[i] = -1;
for(int i = 0; i < m; i++)
{
flag = false;
for(int j = 0; j < n; j++)
{
if(frame[j] == page[i])
{
hit++;
flag = true;
break;
}
}
if(!flag)
{
miss++;
maxn = -1;
for(int j = 0; j < n; j++)
{
pos = -1;
for(int k = i + 1; k < m; k++)
{
if(frame[j] == page[k])
{
pos = k;
break;
}
}
if(pos == -1)
{
maxn = j;
break;
}
if(pos > maxn)
maxn = pos, pos = j;
}
frame[maxn] = page[i];
}
cout << "第" << i + 1 << "次置换后的页面:";
for(int j = 0; j < n; j++)
cout << frame[j] << " ";
cout << endl;
}
cout << "缺页次数:" << miss << endl;
cout << "缺页率:" << (double)miss / m << endl;
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)