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

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

?? haha.cpp

?? 操作系統課程設計,有問題可以聯系我!C++代碼的實先,OS課設!
?? CPP
字號:
/*
  Name: Access arm Simulation Scheduler 
  Author: 謝微(掃描算法)、施巧琳(先來先服務算法)、鄭騰龍(最短路徑優先算法)
  Date: 20-01-07 21:32
  Description: This is an Access arm Simulation Scheduler
*/
#include<stdlib.h>
#include<stdio.h>
#include<math.h>


typedef struct
//定義磁道訪問請求序列的結構,其中data為序列數據,flag為數據訪問狀態標記
{
	int data;
	int flag;
}node;

void sort(node *a,int num)
//將序列按從小到大排列
{
    int tmp;
    for (int i = 0; i <num; i++)
    {
       for(int j = 0; j < num - i - 1; j++)
       {
           if(a[j+1].data < a[j].data)
           {
               tmp = a[j+1].data;
               a[j+1].data = a[j].data;
               a[j].data = tmp;
           }
       }
    } 
}

void fcfs(int num,int location,node *serial)
//先來先服務算法
{
	system("cls");
	printf("\n磁臂調度算法之先來先服務算法:\n");
	printf("----------------------------------------------\n");
	printf("\n當前磁道:%d\n",location);
	int i,s,count=0;
	printf("\n----------------------------------------------\n");
	printf("\n磁道請求隊列(磁道數為%d個):\n\n",num);
	for(i=0;i<num;i++)
	{
	s=abs(serial[i].data-location);
	count+=s;
	location=serial[i].data;
	printf("%d-",serial[i].data);
	}
	printf("\n\n----------------------------------------------\n");
	printf("\n磁臂調度訪問序列:\n\n");
	for(i=0;i<num;i++)
		 printf("%d-",serial[i]);
	printf("\n\n----------------------------------------------\n");
    printf("\n移動磁道數:%d\n",count);
    printf("\n----------------------------------------------\n");
}
void scan(int cl,int num,node *a)
//電梯(掃描)算法
{
	system("cls");
	int i,t;
	node *queue=(node *)malloc(num*sizeof(node));
	printf("\n磁臂調度算法之電梯(掃描)算法:\n");
	printf("----------------------------------------------\n");
	printf("\n當前磁道:%d\n",cl);
	printf("\n----------------------------------------------\n");
	printf("\n磁道請求隊列(磁道數為%d個):\n\n",num);
	for(i=0;i<num;i++)
	//復制請求隊列 
 	{
        queue[i].data=a[i].data;
        queue[i].flag=a[i].flag;
	}
	sort(queue,num);
	for(i=0;i<num;i++)
		printf("%d-",queue[i].data);
	printf("\n\n----------------------------------------------\n");
	printf("\n磁道調度序列為:\n\n");
	for (i=0;i<num;i++)//磁頭向右掃描
	{
		if(queue[i].data>cl)
		{ 
			if(queue[i].flag==0) 
		  {
			  printf("%d-",queue[i].data);
			  if(i%10==0) printf("\n");//每十個數為一行輸出
			  queue[i].flag=1;
		  }
		  
		}
	}
	t=abs(cl-queue[num-1].data);
	for(i=num-1;i>=0;i--)//磁頭向左掃描
	{
		int f=0;f++;
		if(queue[i].data<cl)
		{
			if(queue[i].flag==0)
			{
				printf("%d-",queue[i].data);
                
				if(f%10==0) printf("\n");//每十個數為一行輸出
				queue[i].flag=1;
			}
			
		}
	}
	t=t+queue[num-1].data-queue[0].data;//移動的磁道數
	printf("\n\n----------------------------------------------\n");
	printf("\n移動磁道數為:%d\n",t);
	printf("\n----------------------------------------------\n");
}
void sstf(node *a,int num,int location)
//最短路徑優先算法
{
	system("cls");
	int i,j,m,n,tmp,sum=0;
	node *queue=(node *)malloc(num*sizeof(node)+1);
	node *temp=(node *)malloc(num*sizeof(node)+1);
	printf("\n磁臂調度算法之最短路徑優先算法:\n");
	printf("----------------------------------------------\n");
	printf("\n當前磁道:%d\n",location);
	printf("\n----------------------------------------------\n");
	printf("\n磁道請求序列(磁道數為%d個):\n\n",num); 
	for(i=0;i<num;i++)
	//復制請求隊列 
 	{
        queue[i].data=a[i].data;
        queue[i].flag=a[i].flag;
	}
	sort(queue,num);
	for(i=0;i<num;i++)
	{
		printf("%d-",queue[i].data);//打印輸出待訪問的磁道序列
		if((i+1)%15==0)printf("\n");//每15個數據為一行
	}
	printf("\n");
	printf("\n----------------------------------------------\n");
	queue[num].data=location;
	temp[0].data=location;
	sort(queue,num+1);
	printf("\n磁臂調度訪問序列:\n\n");
	for(i=0;i<num;i++)
	{
 	    for(tmp=0;tmp<=num;tmp++)//獲取location在隊列中的位置
		{
			if(queue[tmp].data==location)
			{
				queue[tmp].flag=1;
				j=tmp;
			}
		}
		m=1;n=1;
		while(queue[j-m].flag==1&&m<j)
			m++;			
		while(queue[j+n].flag==1&&n+j<=num)
			n++;
		if(queue[0].flag==1)//極端情況
			location=queue[j+n].data;
		else
			if(queue[num].flag==1)//極端情況
				location=queue[j-m].data;
		else
			if(abs(location-queue[j-m].data)<abs(location-queue[j+n].data))
				location=queue[j-m].data;
		else
			location=queue[j+n].data;
		printf("%d-",location);
		if((i+1)%15==0)printf("\n");//每15個數據為一行
		temp[i+1].data=location;
	}
	for(i=0;i<num;i++)
	{
		sum=sum+abs(temp[i+1].data-temp[i].data);
	}
	printf("\n");
	printf("\n----------------------------------------------\n");
	printf("\n移動的磁道數:%d",sum);
	printf("\n");
	printf("\n----------------------------------------------\n");
}

main(int argc,char *argv[])
{
  FILE *fp;
  char temp[20];
  int i,num,choice,location;
  if(argc!=2)
  {
	  printf("Usage:haha.exe Datafile\n");
	  return 0;
  }
restart:if((fp=fopen(argv[1],"r"))==NULL)
  {
	  printf("Cannot open this file!");
	  return 0;
  }
  fscanf(fp,"%14s%d",temp,&num);
  fscanf(fp,"%17s%d",temp,&location);
  fscanf(fp,"%s",temp);
  node *serial=(node *)malloc(num*sizeof(node));
  for(i=0;i<num;i++)
	  fscanf(fp,"%d",&(serial[i].data));
  for(i=0;i<num;i++)
  {
	  serial[i].flag=0;
  }
  while(1)
  {
	  //do
	  //{
	  system("cls");
	  printf("This is an Access arm Simulation Scheduler\n微琳龍三人組制作\n");
	  printf("\nUsage of this program:\nChoose options below:\n[1] To see the FCFS Scheduling;\n[2] To see the SCAN Scheduling;\n[3] To see the SSTF Scheduling.\n[4] Refresh this program.\n[5] Quit this program.\n");
	  printf("\n[Choice @ Scheduler] $ ");
	  scanf("%d",&choice);
	  //}while(!isdigit(choice));
	  switch(choice)
	  {
	  case 1:fcfs(num,location,serial);break;
	  case 2:scan(location,num,serial);break;
	  case 3:sstf(serial,num,location);break;
	  case 4:printf("Refreshing program...Done!\n");system("pause");goto restart;
   	  case 5:return 0;
	  default:printf("\nYou entered an invalid choice!\n");
	  }
	  printf("\nAccess arm simulation scheduled completely!\n\n");
	  system("pause");
  }
  fclose(fp);
  return 0;
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区二区三区四区| 一区二区视频免费在线观看| 91视频观看免费| 免费日本视频一区| 国产精品不卡在线| 欧美电视剧免费全集观看| 91丝袜美腿高跟国产极品老师| 久久不见久久见免费视频7| 亚洲一区二区欧美激情| 久久久精品黄色| 日韩午夜激情av| 欧美三区在线观看| 色综合欧美在线视频区| 国产成人午夜99999| 日本欧美在线观看| 亚洲在线视频免费观看| 国产精品大尺度| 日本一区二区电影| 久久久久久免费| 精品国产91久久久久久久妲己| 欧美绝品在线观看成人午夜影视| av一区二区久久| 国产成人精品免费在线| 国内精品国产成人国产三级粉色| 亚洲成a人片综合在线| 亚洲另类春色校园小说| 国产精品灌醉下药二区| 久久久另类综合| 久久久亚洲精品石原莉奈| 欧美精品久久99久久在免费线| 色综合久久久网| 91欧美一区二区| 色婷婷久久综合| 色婷婷亚洲综合| 色婷婷激情综合| 91在线视频免费91| 99久久伊人网影院| 99久久免费精品| 91在线码无精品| 99精品国产热久久91蜜凸| av高清久久久| 91美女视频网站| 欧美在线影院一区二区| 在线观看一区日韩| 欧美日韩夫妻久久| 欧美精品亚洲二区| 日韩写真欧美这视频| 欧美一区二区三区不卡| 欧美成人精品二区三区99精品| 欧美成人一区二区| 久久久久久久久免费| 国产欧美日韩麻豆91| 综合激情成人伊人| 亚洲图片欧美视频| 日本人妖一区二区| 国产精品亚洲专一区二区三区| 国产成人免费高清| 99精品视频在线播放观看| 一本大道综合伊人精品热热| 欧美视频一区二区三区四区| 91麻豆精品久久久久蜜臀| 精品久久久久久久久久久久久久久久久 | 国产一区二区日韩精品| 国产91在线观看丝袜| 91在线观看美女| 欧美日韩一级视频| 日韩欧美久久一区| 国产精品久久久久永久免费观看| 亚洲乱码日产精品bd| 亚洲v精品v日韩v欧美v专区| 精品一区二区久久| av在线综合网| 日韩欧美在线影院| 中文字幕亚洲视频| 婷婷丁香久久五月婷婷| 国产一区二区在线观看免费| 99热精品国产| 欧美一区二区三区喷汁尤物| 欧美高清在线精品一区| 亚洲福利一区二区三区| 国产一区二区精品久久99 | 欧美一卡二卡在线| 国产精品激情偷乱一区二区∴| 亚洲成a天堂v人片| 国产99久久久精品| 欧美久久一二区| 中文字幕国产一区| 香蕉乱码成人久久天堂爱免费| 国产麻豆9l精品三级站| 欧美午夜精品一区二区三区| 精品剧情在线观看| 亚洲一区二区三区在线播放| 国内外成人在线视频| 欧美在线观看一区| 国产午夜精品久久久久久久| 视频在线观看一区二区三区| 不卡一区二区三区四区| 欧美成人乱码一区二区三区| 亚洲最快最全在线视频| 国产麻豆午夜三级精品| 欧美一级片在线| 亚洲久草在线视频| 国产69精品久久久久777| 欧美一区二区三区人| 一区二区三区美女视频| 国产91露脸合集magnet| 日韩免费一区二区| 首页亚洲欧美制服丝腿| 在线观看网站黄不卡| 中文字幕精品一区| 国产一区二区三区久久悠悠色av| 欧美精品九九99久久| 一区二区三区四区在线播放| av动漫一区二区| 国产日韩欧美激情| 精品一区二区三区久久| 欧美一级二级三级乱码| 亚洲国产乱码最新视频| 色先锋久久av资源部| 国产精品久久久久影院老司| 国产一区二区三区综合| 欧美成人精品3d动漫h| 免费观看30秒视频久久| 欧美日韩国产首页| 亚洲福中文字幕伊人影院| 在线观看一区二区视频| 一区二区三区色| 色天天综合久久久久综合片| 中文字幕在线观看不卡| www.视频一区| 亚洲三级小视频| 一本大道久久a久久综合婷婷| 一色桃子久久精品亚洲| 粉嫩av一区二区三区| 久久免费的精品国产v∧| 精品一区二区三区不卡 | 久久久91精品国产一区二区精品| 免费不卡在线观看| 欧美videos大乳护士334| 精品一区二区三区欧美| 久久久久久久久久久久久女国产乱| 精品亚洲aⅴ乱码一区二区三区| 精品久久人人做人人爽| 国产精品一区二区在线播放| 国产片一区二区| www.亚洲免费av| 亚洲精品日韩专区silk| 欧美三级日韩三级国产三级| 午夜精品成人在线视频| 日韩欧美一二区| 国产精品77777| 国产精品久久午夜| 日本道色综合久久| 日日夜夜精品免费视频| 91麻豆精品国产91久久久 | 欧美午夜不卡视频| 香蕉av福利精品导航| 日韩一区二区三区在线观看 | 国产精品66部| 最新欧美精品一区二区三区| 在线视频一区二区三| 日韩电影免费在线看| 国产三级一区二区| 色婷婷久久久亚洲一区二区三区| 亚洲成a人片综合在线| 精品成人私密视频| 91在线丨porny丨国产| 亚洲va在线va天堂| 久久久久久免费| 色素色在线综合| 久久99久久99| 日韩码欧中文字| 69堂国产成人免费视频| 国产一区美女在线| 亚洲男人的天堂网| 日韩三级在线观看| 不卡av在线网| 日韩精品午夜视频| 欧美激情在线一区二区| 欧美三级在线播放| 国产精品一色哟哟哟| 亚洲国产欧美日韩另类综合 | 国产精品日韩精品欧美在线| 欧美亚洲免费在线一区| 国产一区二区在线影院| 亚洲一区视频在线| 国产欧美日韩三区| 日韩一区二区高清| 91丝袜美女网| 国产福利一区在线观看| 亚洲午夜日本在线观看| 中文字幕av免费专区久久| 欧美一区三区四区| 91视频www| 国产福利一区二区三区视频| 香蕉久久夜色精品国产使用方法| 国产清纯白嫩初高生在线观看91 | 国产精品青草综合久久久久99| 欧美精品久久天天躁| 91在线视频免费观看|