作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中, 系統任務的優先順序 < 50,使用者任務的優先順序 >= 50且 <= 255。優先順序大於255的為非法任務,應予以剔除。
現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。
函式scheduler實現如下功能:
將task 中的任務按照系統任務、使用者任務依次存放到 system_task 陣列和 user_task 陣列中
(陣列中元素的值是任務在task 陣列中的下標),並且優先順序高的任務排在前面,陣列元素為-1表示結束。
例如:
task =
system_task =
user_task =
**如下:
#include
#include
#include
using
namespace
std;
struct tasknode;
void mysort(vector
& task)
}if(flag==false)
return;
}}void scheduler(int task,int len,vector
& system_task,vector
& user_task)
else
if(task[i]<=255)
user_task.push_back(temp);
}mysort(system_task);
mysort(user_task);
}int main(void);
int len = sizeof(task)/sizeof(int);
vector
system_task;
vector
user_task;
scheduler(task,len,system_task,user_task);
for(int i=0;icout
<" ";
cout
<<-1
<" ";
cout
<<-1
<"pause");
return
0;}
華為一道機試題 作業系統任務排程問題
作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 50,使用者任務的優先順序 50且 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。函式scheduler實現...
華為應聘機試題 「作業系統排程」
作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 50,使用者任務的優先順序 50且 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。函式scheduler實現...
華為機試題 任務排程問題
作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 50,使用者任務的優先順序 50且 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越 高。函式scheduler實...