【操作系统】C语言模拟操作系统实现磁盘调度算法——电梯调度算法

来源:互联网 发布:以上内容来源于网络 编辑:程序博客网 时间:2024/05/20 11:33
#include<stdio.h>#include<stdlib.h>#include<time.h>int *Init(int arr[]){int i = 0;srand((unsigned int)time(0));for (i = 0; i < 15; i++){arr[i] = rand() % 200 + 1;printf("%d ", arr[i]);}printf("\n");return arr;}void two_part(int arr[]){int i = 0;int j = 0;int k = 0;int sum = 0;int a[15];int b[15];int num = 100;      //当前磁头在100号磁道上a[0] = 100;b[0] = 100;for (i = 0; i < 15; i++){for (j = 1; j < 15 - i; j++){if (arr[j] < arr[j - 1]){int tmp = arr[j];arr[j] = arr[j - 1];arr[j - 1] = tmp;}}}i = 0;j = 0;for (i = 0; i < 15; i++){if (arr[i] >= num){a[j+1] = arr[i];j++;}else{b[k+1] = arr[i];k++;}}printf("访问序列:\n");for (i = 1; i <= j; i++){printf("%d ", a[i]);}for (i = k; i >0; i--){printf("%d ", b[i]);}sum = ((a[j]-100)*2+(100- b[1]))/15;printf("平均寻道长度:%d", sum);}int main(){int arr[15] = { 0 };int *ret=Init(arr); two_part(ret);getchar();return 0;}

1 0
原创粉丝点击