信息技术来源:2026年4月嘉兴市高三教学测试
第 11 题
答案与解析
本题解析
参考答案
D
解题思路
程序通过两层循环反复比较、交换相邻元素a[j]和a[j+1],采用冒泡排序。本题的排序要求是加急件在前;同类型包裹按重量从大到小排列。
程序分析
n=len(a)
for i in range(n-1):
for j in range(①):
if a[j][1] < a[j+1][1] and a[j][2]==a[j+1][2]:
a[j],a[j+1]=a[j+1],a[j]
elif ②:
a[j],a[j+1]=a[j+1],a[j]每个包裹记录的下标1对应重量,下标2对应类型。if在两个包裹类型相同、左侧较轻时交换二者,使较重的包裹向前移动。if不成立时,elif仍以交换这两个相邻包裹作为操作。
填空分析
①
比较对象为a[j]、a[j+1],内层循环从左向右扫描待排序区间。按题意补全交换条件后,每轮会把该区间中优先级最低的包裹移至末端。第i轮开始时,末尾已有i个包裹就位,最后一对需要比较的下标是n-i-2和n-i-1。因此j取0至n-i-2,填写n-i-1。
②
同类型的重量次序已由if处理。类型不同时,只有左侧为普通件、右侧为加急件才需要交换。两个条件应同时成立,故填写a[j][2]=="普" and a[j+1][2]=="急"。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_jiaxingermo_q011
