试题

试题 试卷

logo

题型:综合题 题类: 难易度:困难

浙江省宁波市余姚名校2023-2024学年高二上学期信息技术第一次质量检测试卷

分组冒泡排序。分别对数组a的奇数和偶数位置的元素进行冒泡排序,即采用“跳跃式冒泡”的方法,每次跳跃的步长为2,将数组分成2个子序列,分别对这2个子序列进行排序。例如,对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,排序后的数组a=[1,2,5,3,6,4,8,7]。
(1)、对数组a=[4,5,2,9,6,7,10,3,8,1]进行分组跳跃式升序冒泡排序,则排序后的数组
(2)、实现上述功能的Python程序如下,请在划线处填入合适的代码。

import random

n=8

a=[random.randint(1 ,9) for i in range(n)]

for i in range(0,n,)

    forj in range()

        if a[j]<a[j-2]:

            a[j],a[j-2]=a[j-2],a[j]

(3)、将分组跳跃式冒泡排序推广到每次跳跃的步长为m的情形,例如对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,当m=3时,排序后的数组a=[4,1 ,26,3,5,6,7]。

相关代码如下,请在划线处填入合适的代码。

import random

m=int(input(“请输入步长m:”))

n=8

a=[random.randint(1,9) for i in range(n)]

print(“排序前”,a)

for i in range()

    for j in range()

        if a[j]<a[j-m]:

            a[j],a[j-m]=a[j-m],a[j]

举一反三
返回首页

试题篮