资源简介 (共11张PPT)5.3数据排序——插入排序插入排序有一个已经有序的数据序列,在这个已经排好的数据序列中插入一个数,要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。算法思想插入排序如一组数据(n=5)15,54,8,45,21,其升序的排序过程如下:初始态 15第1遍加工第2遍加工第3遍加工第4遍加工15 548 15 548 15 45 548 15 21 45 54插入排序插入排序插入排序插入排序插入排序1.现有1个有序数数列为: 7,10,13,16,19。有一个数 14,插入上述有序序列,从而得到一个新的有序序列为: 7,10,13,14,16,19。a=[7,10,13,16,19]x=int(input("请输入待插入数:"))print("原始数据为:",a)i=4#先给列表 a 最后增加一个空值a.append(0)while _______________:________i=i-1a[i+1]=xprint("插入后数据:",a)a[i]>x and i>=0a[i+1]=a[i]插入排序2.小王根据上述算法,编写了一个 Python 程序,运行界面如图所示。生成 n 个范围是 1~99 之间的随机整数,用插入排序将待排序数据按升序排序后输出。import randomn=10a=[random.randint(1, 99)for i in range(n)]print("排序前数据:",a)for i in range(1,n):tmp=a[i]j=i-1while __________________:a[j+1]=a[j]j=j-1____________print("排序前数据:",a)a[j]>tmp and j>=0a[j+1]=tmp课堂练习小明编写了一个Python程序,功能如下:运行程序,随机产生n个随机整数,并显示排序前数据,且输出经过上述排序算法后的数据,运行结果如图所示。实现上述功能的Python代码如下,但加框处代码有错,请改正。import randomn=10 #变量n存储待排序数据个数a=[random.randint(1,99)for i in range(n)]print("待排序数据:",a)for i in range(1,n):t=a[i]j=i-1while ta[j]=a[j+1]j=j-1if j<0:breaka[j]=tprint("排序后数据:",a)a[j+1]=a[j]a[j+1]=tEndThank you 展开更多...... 收起↑ 资源预览