题目:操作系统任务调度问题

操作系统任务分为系统任务和用户任务两种。其中,
系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。优先级大于255的为非法任务,应予以剔除。
现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。
 
函数scheduler实现如下功能:
将task[] 中的任务按照系统任务、用户任务依次存放到 system_task[] 数组和 user_task[] 数组中  
(数组中元素的值是任务在task[] 数组中的下标),并且优先级高的任务排在前面,数组元素为-1表示结束。

例如:
task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99}     
system_task[] = {0, 3, 1, 7, -1}     
user_task[]  =  {4, 8, 2, 6, -1}

接口函数:

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

#include <iostream>
using namespace std;  int compare(const void *p,const void *q){return *(int *)p - *(int *)q;
}void scheduler(int task[], int n, int system_task[], int user_task[])
{ int j=0,k=0,f;int sys_f=0;int user_f=0;int a[10];int b[10];for(int i=0;i<n;i++){if(task[i]<50)a[j++]=task[i];else if(task[i]>=50&&task[i]<=255)b[k++]=task[i];}qsort(a,j,sizeof(int),compare);qsort(b,k,sizeof(int),compare);for(i=0;i<j;i++){for(f=0;f<n;f++){if(a[i]==task[f]){system_task[sys_f++]=f;break;}}}for(i=0;i<k;i++){for(f=0;f<n;f++){if(b[i]==task[f]){user_task[user_f++]=f;break;}}}system_task[sys_f]=-1;user_task[user_f]=-1;for(i=0;i<=sys_f;i++){cout<<system_task[i]<<" ";}cout<<endl;for(i=0;i<=user_f;i++){cout<<user_task[i]<<" ";}cout<<endl;}  int main()
{  int task[] = {0,30,155,1,80,300,170,40,99};  int system_task[10];  int user_task[10];  scheduler(task, 9, system_task, user_task);  return 0;
}  

测试结果:

华为机试—操作系统任务调度相关推荐

  1. 【华为机试】死记硬背没思路?一般人我劝你还是算了吧

    大家好,我是哪吒. 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题. 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧.B卷新题库 ...

  2. 【华为机试 Python实现】华为机试题集合(已更新171篇)

    文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...

  3. [华为机试真题][2014]62.去除重复字符并排序

    题目 描述: 去除重复字符并排序 运行时间限制: 无限制 内容限制: 无限制 输入: 字符串 输出: 去除重复字符并排序的字符串 样例输入: aabcdefff 样例输出: abcdef 代码 /*- ...

  4. 牛客网--华为机试在线训练10:字符个数统计

    牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...

  5. 牛客网–华为机试在线训练9:提取不重复的数

    牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...

  6. 牛客网–华为机试在线训练8:合并表记录

    牛客网–华为机试在线训练8:合并表记录 题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个 ...

  7. 牛客网–华为机试在线训练7:取近似值

    牛客网–华为机试在线训练7:取近似值 题目描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值.如果小数点后数值大于等于5,向上取整:小于5,则向下取整. 输入描述: 输入一个正浮点数值 输 ...

  8. 牛客网–华为机试在线训练6:质数因子

    牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...

  9. 牛客网–华为机试在线训练5:进制转换

    牛客网–华为机试在线训练5:进制转换 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串.(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串. 输出描述: 输出该 ...

最新文章

  1. git error(win下)
  2. Android USB Gadget复合设备驱动(打印机)测试方法
  3. struts.xml配置文件(一)
  4. 算力限制场景下的目标检测实战浅谈
  5. hdu 1874 畅通工程续(模板题 spfa floyd)
  6. 赞扬别人团建评论_赞扬精心设计:基于属性的测试如何帮助我成为更好的开发人员...
  7. 华为云FusionInsight MRS:千余节点滚动升级业务无中断
  8. Android使用SeekBar
  9. 213.打家劫舍II
  10. 使用WindowsHooks库制作和使用全局钩子
  11. 安卓手机XPosed框架安装(详细版本)
  12. CentOS-6.3安装配置Tomcat-7 - Constantin - 博客园
  13. 普通人在家做什么兼职工作(推荐5个可以在家做的副业)
  14. 请教一下水卡校验算法
  15. windows ios良心软件推荐
  16. java的jsf是什么_什么是 JSF(Java Server Faces)
  17. 全新电影社交观影,满足影迷移动巨幕与移动3D体验
  18. STM32 实数FFT 极速配置
  19. 小朋友排队(树状数组)
  20. MJExtension使用指导

热门文章

  1. 头条巨量快手广点通等平台APPAPI回传事件注册激活-转化联调-API对接原理代码分析和功能实现
  2. Typescript(真的)遵循泛型中参数化类型(T,U,V,W)的命名约定吗?
  3. 网络安全横向移动指南
  4. FPGA—简易频率计(附代码)
  5. Android实现佩戴安全帽检测和识别(含Android源码)
  6. ABB 5SHY3545L0016 IGCT模块
  7. Redmine与GitLab集成
  8. (2022,latent spcae)GAN逆映射:综述
  9. jenkins node java.nio.file.FileSystemException:xxxx/xx/:Operation not permitted
  10. Internet信息服务(IIS)管理器之常见错误解决办法