冥辰mc 2013-11-21 14:12 采纳率: 0%
浏览 3593

用new申请了一个结构体数组,delete时内存错误

strong text //////////////////////////////////////CLOCK算法部分//////////////////
void CLOCK()
{
arr *page_t;
int i,j,pointer,times=0,flag=-1,num=0;//pointer为查找位置
page_t=new arr[m];
//==============================开始计算=============
if(n<=m)
cout<<"No fault.\n";//如果n<=m不可能缺页
else
{//当n>m时,计算缺页次数
for(i=0,j=0;i<n;i++)
{
if(i==0) {page_t[j].e =page[i];page_t[j].yes =1;num++;}
else
{
flag=-1;//若发现缺页,则值应该不变,否则为正数
for(j=0;j<num;j++)//所需页面是否已在页框中
if(page_t[j].e ==page[i])
{
page_t[j].yes =1;//再次进入页框时又被标记为1
flag=j;break;
}
if(flag<0)//1缺页或者2页框还未满
{
if(num<m)//2页框未满时
{
page_t[num].e =page[i];
page_t[num].yes =1;
num++;
}
else
{//1如果缺页
for(pointer%=m; ; ++pointer%=m)//循环查找为0的页框
if(page_t[pointer].yes ==0)
{//找到置换它,缺页次数+1,置换后yes置1
page_t[pointer].e =page[i];
page_t[pointer].yes =1;
++pointer%=m;
times++;break;
}
else//未置换,标志位置0
page_t[pointer].yes =0;
}
}//if
}//else
}//for
cout<<"缺页率:times/m = "<<times<<"/"<<m<<"= "<<(float)times/m<<endl;
}//else
delete []page_t;
}/////////////////////////////CLOCK算法结束、、、、、、、、

int main()
{
Initial();
CLOCK();
delete []page;
}
其中page[n]是整型的页面号2 3 2 1 5 2 4 5 3 2 5 2(12个);页框为m=3个
//全局变量:
int m, n;//:m=物理块数,n=页面总项;
int * page;//:存放页面

void Initial()
{
cout<<"请输入物理块数:m = ";
cin>>m;
cout<<"\n请输入页面总项:n = ";
cin>>n;
page=new int[n];
cout<<"请输入各个页面号,以空格号间隔:\n";
for(int i=0;i cin>>page[i];
}

有点乱,哪儿出问题了呢?指点新手谢谢

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 21:16
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码