華為機試題 作業系統任務排程問題

2021-07-04 12:51:54 字數 1159 閱讀 8265

作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中, 系統任務的優先順序 < 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實...