综合实战2 #
- 排序算法的例题演练
- 排序算法的例题拆解
- 排序算法的例题实现
收获 #
学完本节内容,可以进一步理解排序算法的实现及应用。
排序算法的例题演练 #
题目描述:
给定包含N个元素的数组a1,a2,a3,…,aN,利用插入排序将其排成升序,
每次拿出未排序部分中的第一个元素,插入到已排序部分中,排在首个不大于这个元素的后面。
输入:
2行
第1行包含1个正整数N(1 < N <= 10000),代表数组元素个数
第2行包含N个整数,空格隔开。
输出;
N-1行,既依次输出每趟选择排序后的数组。
样例输入:
4
4 3 1 2
样例输出:
3 4 1 2
1 3 4 2
1 2 3 4
排序算法的例题拆解 #
1.对输入字符串形式的待排序内容进行数据类型转化
lt=lt.split(' ')#以空格为分割,生成list print(lt)#打印输出发现split后变成字符串形式的数组 lt=[int(m) for m in lt]#将字符串转化为可处理的i数字形式
2.将每次排序后的结果输出
for i in range(1,l): value=lt[i]#保存新的未排序的点的值 j=i-1#已排序的最后一个数(前一个) min_value=lt[i] while j>=0 and min_value<lt[j]: lt[j+1],lt[j]=lt[j],lt[j+1] j-=1 print(lt)
排序算法的例题实现 #
n=int(input('输入n个整数')) lt=input('输入待排序的原数组') lt=lt.split(' ')#以空格为分割,生成list #print(lt) lt=[int(m) for m in lt]#将字符串转化为可处理的i数字形式 #print(lt) l=len(lt) min_index=0 for i in range(1,l): value=lt[i]#保存新的未排序的点的值 j=i-1#已排序的最后一个数(前一个) min_value=lt[i] while j>=0 and min_value<lt[j]: lt[j+1],lt[j]=lt[j],lt[j+1] j-=1 print(lt)
小结 #
复习巩固几种基础的排序算法
掌握并复现本节的例题
习题 #
- 习题1:掌握并实现使用input信息录入后,通过split函数将其转化为可处理的数据类型的程序
- 习题2:输入8个整数顺序如下:5,4,6,2,7,9,1,0;输出每次排序后的结果