資料結構練習 系統任務排程問題

2021-06-25 08:32:27 字數 1412 閱讀 9922

// ostaskscheme.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include using namespace std;

#define max 100

/*問題說明:

作業系統任務分為系統任務和使用者任務兩種。

系統任務的優先順序 < 50,使用者任務的優先順序 >= 50且 <= 255。優先順序大於255的為非法任務,應予以剔除。

現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。

函式scheduler實現如下功能:

將task 中的任務按照系統任務、使用者任務依次存放到 system_task 陣列和 user_task 陣列中(陣列中元素的值是任務在task 陣列中的下標),並且優先順序高的任務排在前面,陣列元素為-1表示結束。

*//*測試用例:

task =

system_task =

user_task =

*/typedef struct tasknodetask_node;

void scheduler(int task, int n, int system_task, int user_task)

//利用冒泡進行排序

for(i = n; i >= 2;i--)

} if (flag == 0)

} //

//將任務序號分類存入陣列.

j = k = 0;

for(i = 0;i < n;i++)

else if(tasklist[i].value >= 50 && tasklist[i].value <= 255)

else

continue;

} system_task[j] = -1;

user_task[k] = -1;

delete tasklist;

//輸出歸類結果.

for(int m = 0;m <= j;m++)

cout << system_task[m] << " ";

cout << endl;

for(int m1 = 0;m1 <= k;m1++)

cout << user_task[m1] << " ";

cout << endl;

}void test();

int system_task[max];

int user_task[max];

scheduler(task, 9, system_task, user_task);

}int _tmain(int argc, _tchar* argv)

資料結構鐵軌問題 資料結構練習專題

下面我給大家帶來一些資料結構的題,供大家欣賞 一 棧 鐵軌試題描述 某城市有乙個火車站,鐵軌鋪設如圖所示,有n節車廂從a方向駛入車站,按進站順序編號為1至n。你的任務是判斷是否能讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,...

資料結構練習

include include define size 20 typedef struct list 重新命名結構體 list t 建立 list t creat list int size list length 0 空表初始化,實際長度為0 return list 返回堆區申請的首位址 判空 i...

資料結構練習(42)八皇后問題

思路 1.生成一組初始資料 01234567 2.對這組資料進行排列組合,然後找滿足8皇后解法的排列即 任何兩個皇后都不能在同一列或對角線上 3.permutation的時候要注意,交換資料要從自身交換起,終止的時候是index length。include using namespace std ...