

第1页 / 共3页
试读已结束,还剩2页,您可下载完整版后进行离线阅读
THE END
√刷题点3数据处理与排序典题密加[2024.1浙江]某项活动有n个单位(编号1到)参加,需将员工分成若干个小组,每个小组的人数上限为m,小组编号按新建次序从1开始编号。分组时,首先按单位编号次序依次在各单位内部分组,每m人分配到一个新建小组中,不足m人的剩余员工暂不分配:然后按剩余员工人数由大到小的顺序,依次为各单位剩余员工分配小组。若某单位剩余员工人数为k,则分配方法为:在已建的小组中查找空位数(该小组还可容纳的人数)大于或等于k的小组,如果找到的小组有多个,则选择空位数最少的小组,将此k人分配到该小组中:如果没有找到,则新建一个小组,将此k人分配到该小组中。设n为5,m为20,各单位员工人数及单位内部的分组过程如图a所示,各单位剩余员工的分组过程如图b所示。单位员工单位剩余分组单位剩余分组单位利余分组编号人数编号人数编号编号人数编号编号人数编号2315185185.6217217217217235435423314233142384204204331253853840404各单位内部分组对利余员工分组图a图b编写程序:给定各单位编号及员工人数,根据上述方法进行分组处理,按单位编号次序输出各单位所分配的分组编号。请回答下列问题:(1)由题意可知,若仅将图a中1号单位的员工人数修改为25,然后对图中5个单位重新分组,则1号单位所分配的分组编号为1,8(2)定义如下bubble_sorte(lst)函数,参数lst的每个元素由单位编号和剩余员工人数2个数据项组成。函数的功能是根据每个单位的剩余员工人数,对s进行降序排序。def bubble sort (1st):·n=1en(1st)for i in range(0,n 1).ifor j in range(n 1,i,-1):··1f1st5-11[1]<1st[j][1]:···tmp=1st[j]·1st[5]=1st[j-1]·1st[5-1]=tmp0,0,18,0,19,17·注f13t[1][1]-0:break19,18,17,0,0,0return调用该函数,若1st为[1,0],[2,0][3,18],[4,01,[5,19],[6,17],请回答①和②两个问题。①虚线框中的程序段第1次执行后,关于st中的剩余员工人数,下列说法正确的是B(单选,填字母)。A.ls[0[1]数值最小B.1st[01]数值最大C.1s[5[1]数值最小D.lst[5][1]数值最大②虚线框中的程序段执行的次数为4第7刷排序099
请登录后查看评论内容