操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级
例如:task[]
{0,
函数接口
#include
using namespace std;
void sort(int a[],int n)
{
int i=0,j=0,temp;
for(;i
for(j=0;j
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
void scheduler(int task[], int n, int system_task[], int user_task[])
{
int i,sys_count=0,u_count=0;
for(i=0;i
{
if(task[i]<50)
system_task[sys_count++]=task[i];
else if(task[i]>=50&&task[i]<=255)
user_task[u_count++]=task[i];
}
system_task[sys_count]=-1;
user_task[u_count]=-1;
sort(system_task,sys_count);
sort(user_task,u_count);
int j;
for(j=0;j
for(i=0;i
{
if(system_task[j]==task[i])
{
system_task[j]=i;
break;
}
}
for(j=0;j
for(i=0;i
{
if(user_task[j]==task[i])
{
user_task[j]=i;
break;
}
}
}
void main()
{
int task[]={0, 30, 155, 1, 80, 300, 170, 40, 99,33,50};
int n=sizeof(task)/sizeof(int)+1;
int *system_task=new int[n];
int *user_task=new int[n];
scheduler(task,n-1,system_task,user_task);
int i=0;
cout<<"系统数组为"<<endl;
while(system_task[i]!=-1)
cout<<system_task[i++]<<" ";
i=0;
cout<<"用户数组为"<<endl;
while(user_task[i]!=-1)
cout<<user_task[i++]<<" ";
cout<<endl;
}