C高手来帮忙那,无意勿扰!

dreamboy329 2003-12-30 11:06:57
老师给派了个题,不知从何做起:
一个公司的职员可分为经理 部门 职工.公司的服务支持由一个共同的秘书处承担,每一个职员都可以提出请求,只要填一张包括职员的职位,任务ID号及任务并加入到一个优先级队列中.优先级的队列定义为:
struct JobRequest{//作业请求记录
staff staffPerson;//职员的职位
int jobID;//作业标识
int jobTime;//作业持续时间}
输入文件中存放有一批被加入到优先队列的作业,每个作业请求都以记录的形式存放在:"job.dat"文件中.记录中记载着职员的职位,作业标识号和工作时间.所有记录在读入后都加入一个名为"jobpool"的优先级队列中,然后,按其所具有的优先级逐个退出队列,并打印出来.程序最后打印为每一类人的总服务时间.
...全文
59 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Obiwon 2003-12-31
  • 打赏
  • 举报
回复
直接在队列里排序,过程是

将文件按记录读入队列->将队列按优先级排序->逐个打印记录,统计时间,删除记录->打印时间->清空队列
Obiwon 2003-12-31
  • 打赏
  • 举报
回复
回复人: Programmersheaven(Finally) ( ) 信誉:64 2003-12-30 22:36:00 得分:0


遍历,然后保存记录ID号到一个新建数组去,这不是很容易的吗?
----------------------------------
不要新建数组,对照ID查找队列还需要开销
不过那样倒也不会增加算法复杂度

yuewang 2003-12-30
  • 打赏
  • 举报
回复
帮你顶,
dreamboy329 2003-12-30
  • 打赏
  • 举报
回复
给点思路或方法都很感激!
谢谢!
Programmersheaven 2003-12-30
  • 打赏
  • 举报
回复
遍历,然后保存记录ID号到一个新建数组去,这不是很容易的吗?
jiangchuandong 2003-12-30
  • 打赏
  • 举报
回复
帮你up
strongbaby 2003-12-30
  • 打赏
  • 举报
回复
各位借问一下

队列按优先级排序怎么来实现?

学习并帮楼主顶!
dreamboy329 2003-12-30
  • 打赏
  • 举报
回复
楼上兄弟,能再详细点吗
谢谢!
Obiwon 2003-12-30
  • 打赏
  • 举报
回复
将队列按优先级排序,打印一个统计一次该类人的服务时间,删除一个,最后打印所有时间,再清空队列
dreamboy329 2003-12-30
  • 打赏
  • 举报
回复
等待高手呀

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧