memset(visit,1,sizeof(visit));//数组初始化为1 ,表示所有磁道都未被访问 su=kai; sum=0; for(int i=0;i<num;i++){ shortest=MAX; for(int j=0;j<num;j++){ //比较得出最近的磁道 if(visit[j]){ if(fabs(su-s[j])<shortest){ shortest=fabs(su-s[j]); k=j; } } }
时间: 2023-12-09 17:02:38 浏览: 72
ArraysTest.rar_Linux/Unix编程_Unix_Linux_
根据你给出的代码,我猜测你想要问的是这段代码的作用是什么,对吗?
这段代码的作用是寻找离当前磁道位置(变量su)最近的未被访问过的磁道(数组s中的元素),并将其下标赋值给变量k。具体来说,它遍历了数组s中的所有元素,如果该元素对应的磁道未被访问过(visit[j]为真),则计算该磁道与当前磁道位置的距离,并将其与之前计算的最短距离(变量shortest)进行比较,如果该距离更短,则更新shortest和k的值。最终,变量k对应的磁道就是离当前磁道位置最近的未被访问过的磁道。
阅读全文