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

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

?? mec.c

?? 用VC寫的模擬內存分配管理的代碼,經測試運行完全正確
?? C
字號:
#include <stdio.h>
#include <malloc.h>
#include <math.h>
#include <string.h>
#define NULL 0


typedef struct mc
{
	int num;
	float size;
	float ad;
	int st;
	struct mc  *prior;
	struct mc  *next;
}mc,*linkmc;
linkmc p2;


linkmc Intialize(linkmc head)
{
	linkmc fm;
	fm=(linkmc)malloc(sizeof(mc));
    


	fm->num=1;
	fm->size=100;
	fm->ad=1;
	fm->st=0;

    head->next=fm;
    fm->prior=head;
	fm->next=NULL;
   // fm->next=head;
	return head;
}



linkmc require(linkmc head)
{  
  	linkmc p1;
	
    p2=(linkmc)malloc(sizeof(mc));
    
	printf("\nPlease input the size you want to require:\n");
    scanf("%f",&p2->size);
    
    p2->next=NULL;
	p1=head->next;
	while((p1->size<p2->size)&&(p1->next!=NULL))
	{   
	  
		p1=p1->next;
	}
	 if(p1->size<p2->size) 
	{
		printf("Sorry, the  main memorysize left is not enough!!\n");

	}
	else if(p1->size==p2->size)
	{   p2->ad=p1->ad;
		p1->prior->next=p1->next;
		if(p1->next!=NULL)
		p1->next->prior=p1->prior;
	                                     

	}
	else if(p1->size>p2->size)
	{
	    p2->ad=p1->ad;
		p1->size=p1->size-p2->size;
    	p1->ad=p1->ad+p2->size;
		
	}
	
	return(head);
	
}

/*linkmc require2(linkmc head)
{   linkmc p2;
  	linkmc p1;
	linkmc p3;
	linkmc head2;
    p2=(linkmc)malloc(sizeof(mc));
    head2=(linkmc)malloc(sizeof(mc));
	printf("\nPlease input the size you want to require:\n");
    scanf("%f",&p2->size);
    
    p2->next=NULL;
    p3=head2;
	while(p3->next!=NULL)



	p1=head->next;
	while((p1->size<p2->size)&&(p1->next!=NULL))
	{   
	  
		p1=p1->next;
	}
	 if(p1->size<p2->size) 
	{
		printf("Sorry, the  main memorysize left is not enough!!\n");

	}
	else if(p1->size==p2->size)
	{   p2->ad=p1->ad;
		p1->prior->next=p1->next;
		p1->next->prior=p1->prior;
	    head2->next=p2;

	}
	else if(p1->size>p2->size)
	{
	    p2->ad=p1->ad;
		p1->size=p1->size-p2->size;
    	p1->ad=p1->ad+p2->size;
		head2->next=p2;
	}
	

	return(p2);
}*/



linkmc release(linkmc head1,linkmc head2,float size)
 
{   
    linkmc p0;
	linkmc p1;
	linkmc s;
	
	p0=(linkmc)malloc(sizeof(mc));
	
	printf("Please input the size you want to release! \n");
    scanf("%f",&size);
	
	if(head2->next!=NULL)
	{
	  p0=head2->next;
	}
	while((p0->size!=size)&&(p0->next!=NULL))
	{
		p0=p0->next;
	
	}	
	if(p0->size!=size)
		printf("Sorry,the size is not required,please input a required size!\n");
	
      else 
	  { 
		  p1=head1->next;
	
	

    	while((p1->ad<p0->ad)&&(p1->next!=NULL))
		{
          p1=p1->next;
	
		}

	
		
    s=(linkmc)malloc(sizeof(mc));
	//s->num=p0->num;
	s->size=p0->size;
	s->ad=p0->ad;

	if(p1->prior->ad+p1->prior->size==s->ad)
	{
		p1->prior->size=p1->prior->size+s->size;
		p0->prior->next=p0->next;
	   if(p0->next!=NULL)
		p0->next->prior=p0->prior;

	
	}
	else if(s->ad+s->size==p1->ad)
	{   
        
		
		s->size=s->size+p1->size;
		s->prior=p1->prior;
		p1->prior->next=s;
		s->next=p1->next;
	    p0->prior->next=p0->next;
		if(p0->next!=NULL)
		 p0->next->prior=p0->prior;
 
	}
	else 
	{
	s->prior=p1->prior;
	p1->prior->next=s;
	s->next=p1;
	p1->prior=s;
	
	p0->prior->next=p0->next;
if(p0->next!=NULL)
	p0->next->prior=p0->prior;

	}
	  }
	return head1;
 }


float Print(linkmc head)
{
    linkmc p;
	float size;
	p=head->next;
	size=0.00;
printf("空閑分區:\n");
	while(p!=head && p!=NULL)
	{   
		size=size+p->size;
		printf("\n      塊號:    %d ",p->num);
	    printf("        大小:    %f",p->size);
	    printf("        起始地址:%f \n",p->ad);
        
	    p=p->next;
	}

	 printf("\n     The total size of left memory :%f\n",size);
 return(size);
}

void Print2(linkmc head)
{
    linkmc p;
	float size;
	p=head->next;
	size=0.00;
printf("已分配分區:\n");
	while(p!=head && p!=NULL)
	{   
		size=size+p->size;
	//	printf("\n      塊號:%d ",p->num);
	    
		printf("      起始地址:%f  ",p->ad);
		printf("          大小:%f\n",p->size);
	    
        
	    p=p->next;
	}

	 printf("\n     The total size of requirted memory :%f\n",size);

}

linkmc sort(linkmc head)
{
	linkmc p0;
	int i=1;
	p0=head;
	p0->num=0;
	while(p0->next!=NULL)
	{
		p0=p0->next;
		p0->num=i;
		
		
		
		i++;
	}
return(head);

}


linkmc sort2(linkmc head)
{ 
	linkmc j;
    j=head->next;
	if(j!=NULL)
	{
    while(j->next!=NULL)
	{
		if(j->size<j->next->size)
		{  if(j->next->next!=NULL)
			j->next->next->prior=j;
			j->prior->next=j->next;
			j->next->prior=j->prior;
            
			j->next->next=j;
			j->prior=j->next;
           
			j->next=j->next->next;
		
		}
	
	}
	}
  return(head);
}

void main()
 { 	 linkmc head,head2,head3;
     linkmc p1;
	 int  f1;
	 char ch[10],cf[10];
	 float lsize,rsize;
     head=(linkmc)malloc(sizeof(mc));
     head2=(linkmc)malloc(sizeof(mc));
	 head3=(linkmc)malloc(sizeof(mc));
	 head2->next=NULL;
	
     printf("\n");
	 printf("          ************************************************************\n");
     printf("\n");
	 //printf("          %c         ",001);
	 printf("          ※         Welcome  to the  memory manager  system !      ※ ");
     //printf(" %c",001);
	 printf("\n");
	 printf("\n");
    
     printf("                      首次適應算法---f          最佳適應算法---b\n");
     printf("\n");
	 printf("                      Require--------q          Release--------l\n");
	 printf("\n");
	 printf("\n");
	 printf("\n");
	 printf("          ************************************************************\n");
	 head=Intialize(head);
	 lsize=Print(head);
     printf("\n");
 
 loop:  
	 do{
     printf("  Please choose the algorithm:\n  首次適應算法---f          最佳適應算法---b\n");
	 scanf("%s",&cf);
     if(strlen(cf)==1)
	 {
		 switch(cf[0])
		 {
			 case'f':
				 f1=0;
				break;
             case'b':
				 f1=1;
				 break;
             default:
				 {
					 f1=2;
                     printf("Uncorrect order,please input the right operation.\n") ;
					 goto loop;
					 
				 }
             break;
		    
		 }
	 
	 }
	  else
	  {
		  printf("Uncorrect order,please input the right order.\n");
          goto loop;
	  }
	 printf("  Please input your operation:\n  Require---q  Release---l\n");
	  
	  //ch=getchar();
	  scanf("%s",&ch);
	 //getchar();
	 if(strlen(ch)==1) 
	 {  
		 switch(ch[0]){
	 //if (strcmp(ch,"q")==0)
	  case 'q':
	 {  p1=head2;
	    if(lsize!=0)
		{ 
          while(p1->next!=NULL)
	   {
		   p1=p1->next;
	   
	   }

	      head=require(head);getchar();
		  if(f1==1)
		  head=sort2(head);
		  head=sort(head);
	      lsize=Print(head);
		  
		  p1->next=p2;
		  p2->prior=p1;
		  Print2(head2);
         // goto loop;
		}
		
	}
	 break;
	 //else if(strcmp(ch,"l")==0)
	  case 'l':
		 {	
			 printf("haha!\n");
			 
			 head=sort(head);
             
			 head2=sort(head2);
			 release(head,head2,rsize);getchar();
             if(f1==1)
		      head=sort2(head);
		 	 head=sort(head);
			 Print(head);
			 head2=sort(head2);
			 Print2(head2);
			// goto loop;
		 }
		 break;
	//else //if((strcmp(ch,"q")!=0)&&(strcmp(ch,"q")!=0)) 
	  default:
	 {
		 printf("Uncorrect order,please input the right order.\n");
		 //goto loop;
	 
	 }
	 break;
	  }
	 
	 }
	 else
		 printf("Uncorrect order,please input the right order.\n");
	 // ch=getchar();
	 }while(1);
		 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草原综合久久大伊人精品优势| 中文字幕精品一区二区精品绿巨人| 欧美日韩在线观看一区二区| 777a∨成人精品桃花网| 日韩一级成人av| 国产欧美日韩久久| 夜夜嗨av一区二区三区四季av| 婷婷激情综合网| 国产91在线看| 色视频一区二区| 久久色.com| 日本在线观看不卡视频| 成人性生交大片免费看在线播放 | 日本二三区不卡| 欧美精品一区二区三区高清aⅴ| 国产日韩av一区| 麻豆视频一区二区| 欧美午夜宅男影院| 国产日韩欧美精品综合| 石原莉奈在线亚洲三区| 成人国产精品免费观看视频| 欧美日本在线一区| 夜夜爽夜夜爽精品视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲另类在线一区| 成人高清av在线| 国产亚洲婷婷免费| 国产成人免费视频网站高清观看视频| 欧美日韩电影在线播放| 亚洲综合一区二区| 欧美综合亚洲图片综合区| 一区二区三区自拍| 色屁屁一区二区| 亚洲第一精品在线| 日韩精品在线一区二区| 麻豆精品新av中文字幕| 欧美一区二区三区视频在线观看| 日本中文字幕一区| 久久精品一区二区| 国产成人综合亚洲91猫咪| 久久九九全国免费| 成人免费黄色大片| 国产乱国产乱300精品| 久久九九久久九九| 91黄色免费网站| 国产成人在线观看| 最新日韩av在线| 国产精品一区二区免费不卡| 亚洲综合成人在线| 日韩美女视频一区二区 | 三级欧美韩日大片在线看| 欧美日韩电影一区| 免费观看30秒视频久久| 欧美一区二区精品| 日韩精品91亚洲二区在线观看 | 亚洲激情自拍视频| 欧美剧情电影在线观看完整版免费励志电影 | 欧美二区三区91| 99久久久久免费精品国产| 午夜av一区二区三区| 久久综合一区二区| 欧美视频精品在线| 国产精品影视在线观看| 亚洲福利一区二区| 久久久一区二区| 91精品在线免费| 国产精品123区| 日韩专区一卡二卡| 亚洲国产精品久久一线不卡| 中文字幕中文字幕一区| 中文字幕欧美一| 亚洲色图.com| 欧美日韩国产另类不卡| 亚洲国产日韩在线一区模特 | 国产v日产∨综合v精品视频| 亚洲精品视频在线| 国产精品毛片高清在线完整版| 欧美在线不卡视频| 91精品国产综合久久香蕉麻豆| 精品视频全国免费看| 欧美成人三级在线| 国产精品久久久久久久久果冻传媒 | 国产欧美视频一区二区三区| 成熟亚洲日本毛茸茸凸凹| 久久亚洲一区二区三区明星换脸 | 中文字幕 久热精品 视频在线| 欧美亚洲高清一区二区三区不卡| 久久99国产精品久久| 天天综合日日夜夜精品| 不卡av免费在线观看| 亚洲一级在线观看| 国产亚洲精品免费| 亚洲精品在线免费观看视频| 99精品1区2区| 日韩电影在线观看网站| 有坂深雪av一区二区精品| 色婷婷一区二区| 欧美群妇大交群的观看方式| 高清成人免费视频| 亚洲福利视频一区| 久久久久97国产精华液好用吗| 精品精品欲导航| 亚洲一区二区三区免费视频| 国产凹凸在线观看一区二区| 日韩欧美国产一区在线观看| 亚洲午夜电影网| 日本道精品一区二区三区| 久久久国产一区二区三区四区小说| 欧美制服丝袜第一页| 欧美综合欧美视频| 国产精品美女久久久久av爽李琼 | 亚洲欧美另类在线| 午夜影视日本亚洲欧洲精品| 精品系列免费在线观看| 在线视频国内自拍亚洲视频| 中文字幕一区三区| 国产精一区二区三区| 欧美午夜精品一区二区蜜桃| 欧美精品少妇一区二区三区 | 亚洲影视资源网| 国产亚洲精品资源在线26u| 日韩欧美国产三级电影视频| 精品处破学生在线二十三| 亚洲视频免费观看| 国产成人av电影在线| 精品理论电影在线观看| 亚洲一区在线视频观看| 91蜜桃在线观看| 亚洲欧美一区二区三区久本道91| 国产69精品久久99不卡| 精品国产91洋老外米糕| 精品一区二区三区在线观看 | 国产欧美一区二区精品性色超碰| 久久不见久久见免费视频7| 91精品在线麻豆| 国产激情一区二区三区四区| 日韩精品中午字幕| 成人免费观看av| 亚洲欧美偷拍卡通变态| 欧美日韩一区二区三区在线看| 一区二区三区丝袜| 欧美一级国产精品| 91麻豆蜜桃一区二区三区| 国产午夜精品一区二区三区视频| 亚洲一区二区影院| 欧美日韩精品福利| 国产精品影视在线| 日韩欧美在线影院| 亚洲午夜电影网| 91蜜桃在线观看| 亚洲男人的天堂一区二区| 在线观看成人免费视频| 久久久久久久久久久久久女国产乱| 国产综合一区二区| 亚洲色图制服诱惑 | 欧美一区二区三区影视| yourporn久久国产精品| 欧美成人精品二区三区99精品| 日韩成人dvd| 欧美tk丨vk视频| 国产一区激情在线| 欧美成人video| 欧美精选在线播放| 久久99精品久久久久久| 色呦呦一区二区三区| 亚洲高清一区二区三区| 久久欧美中文字幕| 91精品中文字幕一区二区三区| 国产综合色精品一区二区三区| 亚洲日本一区二区| 欧美一三区三区四区免费在线看| 国模少妇一区二区三区| 国产精品短视频| 国产日产欧产精品推荐色| 欧美老女人在线| 日本韩国一区二区| 国产成人自拍在线| 久久不见久久见免费视频7| 中文字幕av一区二区三区| 欧美一三区三区四区免费在线看| eeuss鲁片一区二区三区| 麻豆精品视频在线观看免费| 午夜激情久久久| 亚洲视频每日更新| 国产精品福利一区| 一色桃子久久精品亚洲| 欧美亚洲高清一区二区三区不卡| 不卡电影一区二区三区| 国产精品香蕉一区二区三区| 男人操女人的视频在线观看欧美| 国产精品久久夜| 国产日韩欧美不卡在线| 国产区在线观看成人精品| 国产午夜精品一区二区三区四区 | 972aa.com艺术欧美| 99久久精品国产毛片| 久久er99热精品一区二区| 精久久久久久久久久久| 日韩国产精品久久久久久亚洲| 午夜精品视频一区|