一個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語言演算法
- 最短路徑——floyd演算法程式碼(c語言)演算法C語言
- 最短路徑——dijkstra演算法程式碼(c語言)演算法C語言
- linux之 修改磁碟排程演算法Linux演算法
- 演算法面試(七) 廣度和深度優先演算法演算法面試
- MySQL優化--IO排程演算法優化MySql優化演算法
- 程式排程演算法Linux程式排程演算法演算法Linux
- Perceptron演算法—C語言演算法C語言
- 二分搜尋演算法求元素位置(c語言)演算法C語言
- 尋找最大公因數(歐幾里得演算法)--C語言描述演算法C語言
- 廣度優先演算法查詢路線演算法
- (BFS廣度優先演算法) 油田問題演算法
- 俺用c語言寫的一個天下演算法最爛的俄羅斯方塊程式 (轉)C語言演算法
- C語言_初步瞭解一下指標C語言指標
- C語言_簡單瞭解一下typedefC語言
- 【最短路徑Floyd演算法詳解推導過程】看完這篇,你還能不懂Floyd演算法?還不會?演算法
- cpu的排程演算法演算法
- 攬貨最短路徑解決方案演算法 - C# 蟻群優化演算法實現演算法C#優化
- C語言:一個例子理解 union 和 structC語言Struct
- 昨天早上匯的錢,現在還沒拿到資料,站長能給解釋一下嗎?
- 最短的崩潰程式(C語言版)C語言
- C語言_瞭解一下C語言中的四種儲存類別C語言
- 【c語言】判斷一個數是不是2的n次方C語言
- 解釋一下一門語言該有的東東(Javascript)JavaScript
- C++迪傑斯特拉演算法求最短路徑的詳細解釋C++演算法
- 【c語言】把一個長整型給一個字元指標C語言字元指標
- 幾個最短路徑的演算法演算法
- 使用Go語言構建一個解釋型語言Go
- Go語言排程器之主動排程(20)Go
- 2.2.5排程演算法:時間片輪轉、優先順序排程、多級反饋排程演算法
- 給ubuntu虛機增加一個磁碟的過程Ubuntu
- 排序演算法-C語言實現排序演算法C語言
- C語言實現A*演算法薦C語言演算法
- aan 演算法 c 語言示例 (轉)演算法
- 各個語言演算法庫演算法
- 深入理解C語言(一)C語言