亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 可變分區存儲管理的內存分配和回收.txt

?? 操作系統各個方面的編程
?? TXT
字號:
#include "stdafx.h"
#include<stdio.h>
#include<iostream.h>
#include<string.h>
#include<iomanip.h>
const int MAXJOB=100;//定義表最大記錄數
typedef struct node
{
 int front;
 int length;
 char data[20];
}job;
job frees[MAXJOB];//定義空閑區表
int free_quantity;
job occupys[MAXJOB];//定義已分配區表
int occupy_quantity;
//初始化函數
void initial()
{
 int i;
 for(i=0;i<MAXJOB;i++)
 {
  frees[i].front=-1;
  frees[i].length=0;
  strcpy(frees[i].data,"free");
  occupys[i].front=-1;
  occupys[i].length=0;
  strcpy(occupys[i].data," ");
 }
 free_quantity=0;
 occupy_quantity=0;
}
//創建空閑分區表
int creatfree()
{
 FILE *fp;
 char fname[20];
 cout<<"請輸入空閑區數據文件來源的文件名:";
 cin>>fname;
 if((fp=fopen(fname,"r"))==NULL){
  cout<<"錯誤,文件打不開,請檢查文件名"<<endl;
 }
 else{
  while(!feof(fp))
  {
   fscanf(fp,"%d\t%d\n",&frees[free_quantity].front,&frees[free_quantity].length);
   free_quantity++;
  }
        cout<<"空閑的分區表已建立!\n";
  return 1;
 }
 return 0;

}
void sort()//將free空間安首地址從小到大的順序排列
{
 int i,j,p;
 for(i=0;i<free_quantity-1;i++)
 {
  p=i;
  for(j=i+1;j<free_quantity;j++)
  {
   if(frees[j].front<frees[p].front)
   {
    p=j;
   }
  }
  if(p!=i)
  {
   frees[free_quantity]=frees[i];
   frees[i]=frees[p];
   frees[p]=frees[free_quantity];
  }
 }
}
//顯示函數
void show()
{
 int i;
 cout<<endl<<"----------------------------------------------------------"<<endl;
 cout<<"當前空閑表:"<<endl;
 cout<<"起始地址    長度      狀態"<<endl;
 for(i=0;i<free_quantity;i++){
  cout.setf(2);
  cout.width(12);
  cout<<frees[i].front;
  cout.width(10);
  cout<<frees[i].length;
  cout.width(8);
  cout<<frees[i].data<<endl;
 }
 cout<<endl<<"----------------------------------------------------------"<<endl;
 cout<<"當前已分配表:"<<endl;
 cout<<"起始地址    長度   占用作業名"<<endl;
 for(i=0;i<occupy_quantity;i++)
 {
  cout.setf(2);
  cout.width(12);
  cout<<occupys[i].front;
  cout.width(10);
  cout<<occupys[i].length;
  cout.width(8);
  cout<<occupys[i].data<<endl;
 }
 cout<<endl<<"----------------------------------------------------------"<<endl;
}
//最先適應分配算法
void assign()
{
 char job_name[20];
 int job_length;
 int i,j,flag,t;
 cout<<"請輸入新申請內存空間的作業名和空間大小:";
 cin>>job_name;
 cin>>job_length;
 flag=0;
 for(i=0;i<free_quantity;i++)
 {
  if(frees[i].length>=job_length)//如果空閑空間I的長度〉作業長度
  {
   flag=1;     //空閑標志位就置1
  }
 }
 if(flag==0)
 {
  cout<<endl<<"對不起,當前沒有能滿足你申請長度的空閑內存,請稍候再試!"<<endl;
 }
 else{
  t=0;
  i=0;
  while(t==0)//為空閑區間的時候
  {
   if(frees[i].length>=job_length)
   {
    t=1;
   }
   i++;//如果空閑空間I的長度不大于作業長度,I加一,判斷下一個空間
  }
  i--;
  occupys[occupy_quantity].front=frees[i].front;//把已用的空閑空間的首地址負給已用空間的首地址
  strcpy(occupys[occupy_quantity].data,job_name);//已用空間的內容為作業名
  occupys[occupy_quantity].length=job_length;//已用空間的長度為作業的長度
  occupy_quantity++;     //已用空間數量加一
  if(frees[i].length>job_length)//如果空間的長度大于作業的長度,
  {
   frees[i].front+=job_length;//空閑空間的起始首地址=原空閑區間的起始長度加作業長度
   frees[i].length-=job_length;//空閑區間的長度=原空閑區間的長度-作業的長度
  }
  else//如果空間的長度=作業的長度
&nbsp; {
   for(j=i;j<free_quantity-1;j++)
   {
    frees[j]=frees[j+1];//空閑區間前移一位
   }
   free_quantity--;//空閑區間的數量減一
   cout<<"內存空間成功:)"<<endl;
  }
 }
}

//撤消作業   
void cancel()
{
 char job_name[20];
 int i,j,flag,p=0;
 int front;
 int length;
 cout<<"請輸入要撤消的作業名:";
 cin>>job_name;
 flag=-1;
 for(i=0;i<occupy_quantity;i++)
 {
  if(!strcmp(occupys[i].data,job_name))//當輸入作業名匹配時
  {
   flag=i;//把i的值賦給flag;
   front=occupys[i].front;//把已用空間的首地址賦給start
   length=occupys[i].length;//把已用空間的長度賦給length
  }
 }
 if(flag==-1)
 {
  cout<<"沒有這個作業名"<<endl;
 }
 else
 {//加入空閑表
  for(i=0;i<free_quantity;i++)
  {
   if((frees[i].front+frees[i].length)==front)//上空
   {
    if(((i+1)<free_quantity)&&(frees[i+1].front==front+length))//下空
    {
     frees[i].length=frees[i].length+frees[i+1].length+length;//第i個空閑區間的長度=第i個空閑區間的長度+第i+1個空閑區間的長度(下空閑區)+length
     for(j=i+1;j<free_quantity;j++)
     {
      frees[j]=frees[j+1];//后移一位
     }
     free_quantity--;//空閑區的數量漸少了一個
     p=1;
    }
    else{
     frees[i].length+=length;//(上空下不空)第i個空閑區間的長度=第i個空閑區間的長度+length,空閑區個數不變
     p=1;
    }
   }
   if(frees[i].front==(front+length))//下空上不空
   {
    frees[i].front=front;//起始地址等于待回收地址
    frees[i].length+=length;//第i個空閑區間的長度=第i個空閑區間的長度+length
    p=1;
   }
  }
  if(p==0)//上下空閑區都不空(直接在空閑區表中找一個空表目,將其內容插入)
  {
   frees[free_quantity].front=front;
   frees[free_quantity].length=length;
   free_quantity++;//空閑區的數量加一
  }
  //刪除分配表中的該作業
  for(i=flag;i<occupy_quantity;i++)
  {
   occupys[i]=occupys[i+1];
  }
  occupy_quantity--;//已用的區的數量
 }
}
void main()
{
 int flag=0;
 int t=1;
 int chioce=0;
 initial();
 flag=creatfree();
 while(flag==1)
 {
  sort();
  cout<<"           可變分區存儲管理模擬系統"<<endl;
     cout<<"   1.申請空間  "<<endl;
        cout<<"   2.撤消作業  "<<endl;
        cout<<"   3.顯示空閑表和分配表  "<<endl; 
        cout<<"   0.退出"<<endl;
  cout<<"請選擇:";
  cin>>chioce;
  switch(chioce)
  {
  case 1:
   assign();
   break;
  case 2:
   cancel();
   break;
  case 3:
   show();
   break;
  case 0:
   flag=0;
   break;
  default:
   cout<<"選擇錯誤!"<<endl;
  }
 }
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福利视频导航| 久久成人免费电影| 精品久久久久久久久久久久包黑料| 国产成人h网站| 奇米影视一区二区三区小说| 国产精品国产自产拍在线| 欧美精品一二三| 91婷婷韩国欧美一区二区| 久久精品国产久精国产| 亚洲国产欧美在线| 国产精品国产成人国产三级| 欧美变态tickle挠乳网站| 91久久一区二区| 成人午夜激情在线| 极品尤物av久久免费看| 亚洲r级在线视频| 亚洲日本电影在线| 久久久精品人体av艺术| 欧美一级免费大片| 欧美日韩一级二级三级| 91在线porny国产在线看| 国产精品99久久久久久有的能看| 日本在线不卡视频一二三区| 亚洲午夜成aⅴ人片| 中文字幕一区免费在线观看| 国产亚洲精品资源在线26u| 欧美一级搡bbbb搡bbbb| 欧美一区二区网站| 欧美日韩一区二区三区在线看| 色综合久久综合网97色综合| 成人深夜福利app| 福利一区二区在线| 国产成人精品在线看| 国产一区二区三区四区五区美女 | 在线免费不卡电影| 91视频在线观看免费| 成人国产精品免费| 成人av免费网站| 99久久国产综合精品色伊| 成人免费毛片片v| 成人激情开心网| 成人av综合在线| 成人涩涩免费视频| 成人av网站大全| 北条麻妃一区二区三区| 成人a区在线观看| 97久久超碰国产精品电影| 成人av电影在线| 色综合久久综合| 欧美无乱码久久久免费午夜一区| 欧美丝袜自拍制服另类| 欧美精品一卡两卡| 欧美成人高清电影在线| 久久综合九色综合97_久久久| 久久久亚洲国产美女国产盗摄| 久久久99免费| 亚洲欧洲在线观看av| 亚洲激情一二三区| 天堂影院一区二区| 激情成人午夜视频| 丁香婷婷综合色啪| 91毛片在线观看| 欧美日韩精品一区二区在线播放| 欧美一区二区福利在线| 国产日韩精品一区| 亚洲精品免费看| 日韩av一级电影| 大白屁股一区二区视频| 色综合久久综合网欧美综合网 | 色噜噜狠狠色综合中国| 欧美三电影在线| 欧美成人官网二区| 日韩一区中文字幕| 日本大胆欧美人术艺术动态| 国产永久精品大片wwwapp | 欧美日韩亚洲综合在线| 日韩一区二区三区在线| 久久蜜臀精品av| 亚洲激情自拍偷拍| 狠狠色2019综合网| 91免费视频大全| 精品女同一区二区| 日韩码欧中文字| 免费成人美女在线观看.| 福利一区二区在线观看| 7777女厕盗摄久久久| 日本一二三不卡| 午夜精品国产更新| 国产成人8x视频一区二区| 91高清视频在线| 久久网站最新地址| 日韩精品一二三四| 成人黄色片在线观看| 欧美一区二区三区四区久久| 欧美国产一区视频在线观看| 五月激情综合网| 97精品久久久午夜一区二区三区| 91精品国产入口| 亚洲色欲色欲www| 国产一区二区三区在线观看免费| 欧美日韩精品一区二区三区| 国产精品激情偷乱一区二区∴| 美女任你摸久久| 欧美视频在线一区二区三区 | 亚洲综合激情网| 成人午夜在线播放| 欧美大白屁股肥臀xxxxxx| 亚洲品质自拍视频网站| 国产91精品露脸国语对白| 欧美一级片在线观看| 亚洲高清在线精品| 91成人免费在线| 国产精品久久久久影院老司| 黄页视频在线91| 日韩欧美国产一区二区在线播放| 亚洲欧美色一区| 成人激情综合网站| 久久久久青草大香线综合精品| 亚洲国产日韩a在线播放性色| 国产jizzjizz一区二区| 久久综合丝袜日本网| 日韩中文字幕91| 欧美日韩免费不卡视频一区二区三区| 亚洲婷婷国产精品电影人久久| 成人性色生活片免费看爆迷你毛片| 日韩欧美激情四射| 日本不卡中文字幕| 在线成人免费观看| 亚洲电影中文字幕在线观看| 色婷婷久久一区二区三区麻豆| 国产精品美女久久久久久久久久久 | 91天堂素人约啪| 亚洲婷婷国产精品电影人久久| 成人黄色在线网站| 亚洲视频一区在线| 一本高清dvd不卡在线观看| 亚洲欧洲制服丝袜| 色婷婷综合久久久久中文| 亚洲精品菠萝久久久久久久| 在线视频一区二区三| 亚洲综合男人的天堂| 欧美美女网站色| 日本sm残虐另类| 精品国产成人系列| 国产成a人亚洲| 亚洲欧美在线aaa| 欧美亚洲丝袜传媒另类| 天天综合网天天综合色| 日韩美女一区二区三区四区| 国内精品国产成人国产三级粉色| 久久亚区不卡日本| 成人国产一区二区三区精品| 亚洲欧美乱综合| 欧美片网站yy| 国产一区二区三区免费看| 中文av一区二区| 欧洲精品中文字幕| 日韩av中文在线观看| 久久精品一二三| 99久久久精品| 午夜精品一区二区三区免费视频 | 精品女同一区二区| 国产激情一区二区三区四区 | 成人毛片在线观看| 亚洲猫色日本管| 7777精品伊人久久久大香线蕉| 久久精品久久99精品久久| 国产网站一区二区| 欧美三级在线视频| 国产乱对白刺激视频不卡| 亚洲欧美日韩一区二区三区在线观看| 欧美日免费三级在线| 国产一区二区影院| 亚洲国产精品久久不卡毛片 | 91啪九色porn原创视频在线观看| 午夜精品一区在线观看| 亚洲国产成人在线| 欧美日韩国产综合久久| 国产精品亚洲综合一区在线观看| 自拍偷拍亚洲激情| 日韩欧美一区二区免费| 波多野结衣在线一区| 日韩精品亚洲一区| 国产精品视频一区二区三区不卡| 欧美日韩一区不卡| 成人午夜短视频| 青娱乐精品视频| 亚洲视频精选在线| 久久综合色8888| 欧美色综合网站| 国产成人av一区二区三区在线 | 欧美精品丝袜久久久中文字幕| 国产成人免费在线观看不卡| 日韩精品视频网| 亚洲欧美日韩人成在线播放| 久久久久久久久久久99999| 欧美午夜精品一区二区蜜桃| 岛国一区二区三区| 国产做a爰片久久毛片| 日韩电影免费在线看|