回复 2楼 寒风中的细雨
我根据您提供思路写了一些代码,有问题,再次向您请教。
我的实现思路:
(1)将所有的学生放到待分配容器Student_List;
(4)根据组数目,重复操作(3)(4)。直到每一组都操作一遍结束
(3)根据组号,从Student_List中选该组的可选项,可选项组成的列表为Optional_List
(4)从Optional_List中随机选出Group_Count(Group_Count:表示每组最少人数)项,将选出的添加到对应组中,将已选出的项从Student_List中删除。
(5)Student_List中的剩余项分配
现在是(1)到(4)这里就有问题了。这种分配不能保证每一组都能分配到Group_Count个数据。举个列子吧,第一组分配的学生的毕业设计导师恰好是第二组的答辩教师,第二组分配的学生恰的毕业设计导师恰好是第一组的答辩教师,这时候第三组就不能分配到学生(假设只有三组)。
到了这里,希望你给我提供一个详细的算法。谢谢~~~!