项目分配算法 有足够数量的项目,每个学生可选5个作为候选项目,第一个序列号为1(最喜欢),最后一个为5(最不喜欢)。求个分配算法,算法要求:如果学生的候选顺序相同,成绩好的学生优先。每个学生最后只能选一个项目,每个项目只能被分配到一个学生。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 把所有的项目放进一个ArrayList2. 设置一个标记位,判断该学生是否取到了项目,初始为false,把学生按成绩高低排列,遍历,先取出第一个学生(成绩最好),完后遍历其所选择的项目(按序列号从低到高排列),如果该项目在ArrayList中contains,则将该项目分配给他,同时将该项目从ArrayList中remove,标记位置为true,如果该项目不存在于ArrayList中,则取下一个序列号,循环执行刚才的操作,如果遍历完学生所选的项目后标志位依然为false,则提示该学生重新选择,该学生选择后重新执行刚才的操作3. 将标志位赋值为false,循环到下一个学生 数据结构在软件开发中真得很重要吗? 求〈深入JAVA虚拟机2〉随书光盘 为什么!!!!!!!!!!!!!!!!!!!!! JAVA初级问题 如何把一个外部jar加入到一个ejb(Sessionbean)中 问一个概念问题!顺便散分! 如何用java垂直显示字符串 Defaut Modifier和protected modifer 是否相同? SCJP 基本问题 我想做个类似资源管理器的东西,左边用jtree,右边用什么好呢?大侠请进,给个提示 如何获得JScrollPane中的view组建 小弟现在想做这么一个插件:
2. 设置一个标记位,判断该学生是否取到了项目,初始为false,把学生按成绩高低排列,遍历,先取出第一个学生(成绩最好),完后遍历其所选择的项目(按序列号从低到高排列),如果该项目在ArrayList中contains,则将该项目分配给他,同时将该项目从ArrayList中remove,标记位置为true,如果该项目不存在于ArrayList中,则取下一个序列号,循环执行刚才的操作,如果遍历完学生所选的项目后标志位依然为false,则提示该学生重新选择,该学生选择后重新执行刚才的操作
3. 将标志位赋值为false,循环到下一个学生