一個C語言寫的磁碟排程演算法-----SSTF(最短尋道優先演算法),還不是很理解,希望哪位大神能給解釋一下!!!!
- #include <stdio.h>
- #include <stdlib.h>
- int cmp(const void* a, const void* b){
- return *(int *)a - *(int *)b;
- }
- int find(int* g, int len, int n){
- int i = 0;
- for(; i < len-1; i++) if(g[i+1] >= n) break;
- return i;
- }
- //dn:disk number; cp:current position
- void sstf(int* dn, int len, int cp){
- qsort(dn, len, sizeof(int), cmp);
- int p = find(dn, len, cp);
- int q = p+1;
- while(p >= 0 || q <= len-1){
- if(q == len || dn[q]-cp > cp-dn[p]) cp = dn[p--];
- else cp = dn[q++];
- printf("%d ", cp);
- }
- }
- main(){
- int dn[100] = {47,72,48,14,3,15,2,35,1,26,86,65,5,100,54};
- sstf(dn, 15, 66);
- }
相關文章
- C語言寫的磁碟排程演算法,歡迎大家來討論C語言演算法
- 自己用C語言寫的一個模擬退火演算法C語言演算法
- 最短路徑——dijkstra演算法程式碼(c語言)演算法C語言
- 最短路徑——floyd演算法程式碼(c語言)演算法C語言
- linux之 修改磁碟排程演算法Linux演算法
- MySQL優化--IO排程演算法優化MySql優化演算法
- Perceptron演算法—C語言演算法C語言
- 演算法面試(七) 廣度和深度優先演算法演算法面試
- 二分搜尋演算法求元素位置(c語言)演算法C語言
- 廣度優先演算法查詢路線演算法
- (BFS廣度優先演算法) 油田問題演算法
- cpu的排程演算法演算法
- 【最短路徑Floyd演算法詳解推導過程】看完這篇,你還能不懂Floyd演算法?還不會?演算法
- C語言:一個例子理解 union 和 structC語言Struct
- PID演算法的C語言實現演算法C語言
- LVS排程演算法演算法
- C++迪傑斯特拉演算法求最短路徑的詳細解釋C++演算法
- 排序演算法-C語言實現排序演算法C語言
- 給ubuntu虛機增加一個磁碟的過程Ubuntu
- 各個語言演算法庫演算法
- Go語言排程器之主動排程(20)Go
- 一個人的旅行 (dijkstra演算法求最短路)演算法
- 2.2.5排程演算法:時間片輪轉、優先順序排程、多級反饋排程演算法
- 解釋一下一門語言該有的東東(Javascript)JavaScript
- 幾個最短路徑的演算法演算法
- 衝一下阿里,感覺不是很難阿里
- MySQL資料庫環境如何調整磁碟IO排程演算法MySql資料庫演算法
- C語言演算法之猴子吃桃C語言演算法
- Go語言排程器之排程main goroutine(14)GoAI
- 理解C語言宣告的優先順序規則C語言
- 每日一道演算法:搜尋插入位置演算法
- 教你在 C 語言上編寫自己的協程
- 【作業系統】磁碟的四種基本排程演算法(圖表說明)作業系統演算法
- 如何用最短的時間學會C語言,並掌握C語言的精髓所在?C語言
- 演算法(三):圖解廣度優先搜尋演算法演算法圖解
- 語音識別CTC演算法原理解釋演算法
- 線性模型是否真的能給出一個很好的解釋?模型
- 作業系統綜合題之“採用最低鬆弛度優先演算法的實時排程,鬆弛度的公式和在一個就緒佇列如何進行程式排序”作業系統演算法公式佇列行程排序