xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 2KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-13
  • 語言: C/C++
  • 標(biāo)簽: Buddy??伙伴??算法??

資源簡介

Buddy 伙伴 算法 ,Windows編程環(huán)境。

資源截圖

代碼片段和文件信息

#include//包含頭文件
int?free[10]=?{0000000001}
??????????????use[100][2]=?{0}buddy[10]=?{2481632641282565121024}
???????????????????????????free_add[10][50]=?{0}usenum=0;?????//定義外部變量
void?PrintTable(?) //輸出功能表函數(shù)
{
????printf(“功能說明表:\n“);
????printf(“1.申請(qǐng)內(nèi)存\n“);
????printf(“2.釋放內(nèi)存\n“);
????printf(“3.退出\n“);
}
void?show()?????//輸出內(nèi)存占用情況
{
????int?ij;
????printf(“\n內(nèi)存空閑區(qū)剩余情況:\n“);
????for(i=0;?i<10;?i++)??????????????????//輸出空閑情況
????{
????????printf(“%4d:有%d個(gè)空閑塊????起始地址分別為:?“buddy[i]free[i]);
????????for(j=0;?j????????????printf(“%4d~%4d?“free_add[i][j]free_add[i][j]+buddy[i]-1);//??
????????printf(“\n“);
????}
????printf(“\n內(nèi)存已分配區(qū)情況:\n“);?????//輸出占用情況
????for(i=0;?i????????printf(“%2d:??大小:%4d???內(nèi)存地址:%4d~%4d\n“i+1buddy[use[i][0]]use[i][1]use[i][1]+buddy[use[i][0]]-1);
}
void?main()
{
????int?ijkordersizestartmaxsize=9usepageshengfree_startflag;
????PrintTable();
????// free_add[2][0]=0;
????free_add[9][0]=0;//初始化已分配內(nèi)存
b:
????show();
????printf(“\n輸入你要執(zhí)行的命令:“);
????scanf(“%d%*c“?&order);
????while(?order?!=?3?) //接受命令
????{
????????if?(?order??3?)????//非法命令檢測(cè)
????????{
????????????printf(“輸入的非法命令,請(qǐng)重新輸入:“);
????????????scanf(“%d%*c“?&order);
????????????continue;
????????}
????????if?(?order?==?1?)
????????{
a:
????????????printf(“輸入作業(yè)申請(qǐng)空間的大小(1~1024):“); //輸入要申請(qǐng)內(nèi)存的大小
????????????scanf(“%d%*c“?&size);
????????????if(size<1||size>1024)
????????????{
????????????????printf(“請(qǐng)輸入1~1024之間的數(shù)字\n“);?????//檢查輸入正確性
????????????????goto?a;
????????????}
????????????else?if(size>buddy[maxsize])
????????????{
????????????????printf(“沒有足夠的內(nèi)存,請(qǐng)先釋放\n“);?????//檢查內(nèi)存空間
????????????????goto?a;
????????????}
????????????else
????????????{
????????????????for(i=0;?i<10;?i++)
????????????????{
????????????????????if(free[i]!=0&&size<=buddy[i])?break;?????//尋找合適內(nèi)存
????????????????}
????????????????usepage=i;
????????????????free[i]--;
????????????????for(i=0;?i<10;?i++)
????????????????{
????????????????????if(buddy[i]>=size)?break;?????//尋找分裂大小
????????????????}
????????????????use[usenum][0]=i;
????????????????use[usenum][1]=free_add[usepage][free[usepage]]; //添加已分配表
????????????????sheng=buddy[usepage]-buddy[use[usenum][0]];
????????????????start=free_add[usepage][free[usepage]]+buddy[usepage]-buddy[usepage-1];?????? //首地址確定
????????????????usenum++;
????????????????for(i=usepage-1;?i>=0;?i--)?????????????//添加其他頁面內(nèi)存大小
????????????????{
????????????????????if(sheng>=buddy[i])
????????????????????{
????????????????????????free[i]++;
????????????????????????free_add[i][free[i]-1]=start;
????????????????????????sheng-=buddy[i];
????????????????????????start-=buddy[i-1];?????? //首地址確定
????????????????????}
????????????????????if(sheng==0)?break;
????????????????}
????????????????if(free[maxsize]==0)?????????????//確定最大剩余空間
????????????????{
????????????????????maxsize=0;
????????????????????

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????6108??2011-08-31?09:49??myBuddy.c

評(píng)論

共有 條評(píng)論