华为机试:数组操作系统任务调度

<span style="font-family: Arial, Helvetica, sans-serif;">#include <iostream></span>
using namespace std;


void fenpei(int task[],int len)
{
	int system_task[256];
	int neirong_task[256];
	int user_task[256];
	int neirong2_task[256];
	int k=0,l=0,p=0,q=0;
	int i=0;

	while(i<len)
	{
		int temp=task[i];
		if(temp<50)
		{
			neirong_task[k++]=temp;
			system_task[l++]=i;
			for(int j=0;j<k;j++)
			{
				if(temp<neirong_task[j])
				{
					int m;
					for(m=k-2;m>=j;m--)
					{
						neirong_task[m+1]=neirong_task[m];
						system_task[m+1]=system_task[m];
					}
					neirong_task[m+1]=temp;
					system_task[m+1]=i;
					break;
				}
			}
		}
		else if(temp>=50&&temp<=255)	
		{
			neirong2_task[p++]=temp;
			user_task[q++]=i;
		   	for(int j=0;j<p;j++)
			{
				if(temp<neirong2_task[j])
				{
					int m;
					for(m=p-2;m>=j;m--)
					{
						neirong2_task[m+1]=neirong2_task[m];
						user_task[m+1]=user_task[m];
					}
					neirong2_task[m+1]=temp;
					user_task[m+1]=i;
					break;
				}
			}
		}
		++i;
	}
	system_task[k++]=-1;
	user_task[p++]=-1;

	for(int i=0;i<k;i++)
		cout<<system_task[i]<<' ';
	cout<<endl;
	for(int i=0;i<p;i++)
		cout<<user_task[i]<<' ';
	cout<<endl;
}
int main()
{
	int task[256];
	int k=0,a;

	cin>>a;
	while(getchar()!='\n')
	{
		task[k++]=a;
		cin>>a;
	}
	task[k++]=a;
	fenpei(task,k);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值