摘要:排序 排序的算法很多.课本主要介绍里两种排序方法:直接插入排序和冒泡排序 (1)直接插入排序 在日常生活中.经常碰到这样一类排序问题:把新的数据插入到已经排好顺序的数据列中. 例如:一组从小到大排好顺序的数据列{1.3.5.7.9.11.13}.通常称之为有序列.我们用序号1.2.3.--表示数据的位置.欲把一个新的数据8插入到上述序列中. 完成这个工作要考虑两个问题: (1)确定数据“8 在原有序列中应该占有的位置序号.数据“8 所处的位置应满足小于或等于原有序列右边所有的数据.大于其左边位置上所有的数据. (2)将这个位置空出来.将数据“8 插进去. 对于一列无序的数据列.例如:{49.38.65.97.76.13.27.49}.如何使用这种方法进行排序呢?基本思想很简单.即反复使用上述方法排序.由序列的长度不断增加.一直到完成整个无序列就有序了. 首先.{49}是有序列.我们将38插入到有序列{49}中.得到两个数据的有序列: {38.49}. 然后.将第三个数据65插入到上述序列中.得到有序列: {38.49.65} ---- 按照这种方法.直到将最后一个数据65插入到上述有序列中.得到 {13.27.38.49.49.65.76.97} 这样.就完成了整个数据列的排序工作.注意到无序列“插入排序算法 成为了解决这类问题的平台. (2)冒泡法排序 所谓冒泡法排序.形象地说.就是将一组数据按照从小到大的顺序排列时.小的数据视为质量轻的.大的数据视为质量沉的.一个小的数据就好比水中的气泡.往上移动.一个较大的数据就好比石头.往下移动.显然最终会沉到水底.最轻的会浮到顶.反复进行.直到数据列排成为有序列.以上过程反映了这种排序方法的基本思路. 我们先对一组数据进行分析. 设待排序的数据为:{49.38.65.97.76.13.27.49} 排序的具体操作步骤如下:
网址:http://m.1010jiajiao.com/timu_id_4452440[举报]
给出下面的算法:该算法表示( )
S1 m=a;
S2 若b<m,则m=b;
S3 若c<m,则m=c;
S4 若d<m,则m=d;
S5 输出m.
A.a,b,c,d中最大值 B.a,b,c,d中最小值
C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序
查看习题详情和答案>>
我们把“a=b”理解为将b的值给a,如x=3,表示把3给x.据此,阅读下面的算法,探究该算法所处理的问题是什么.
1.m=a
2.若b<m,则m=b
3.若c<m,则m=c
4.若d<m,则m=d
5.输出m
则该算法表示( )
A.找a,b,c,d中最大值 B.找a,b,c,d中最小值
C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序
查看习题详情和答案>>