排序 排序的算法很多.课本主要介绍里两种排序方法:直接插入排序和冒泡排序 (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} 排序的具体操作步骤如下: 查看更多

 

题目列表(包括答案和解析)

给出下面的算法:该算法表示(    )

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由大到小排序

查看答案和解析>>

在求函数f(x)=的值的算法中,不可能用到的语句或算法为(    )

A.输入语句           B.复合If语句            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由大到小排序

查看答案和解析>>

给出下面的算法:S1m=aS2若b<m,则m=bS3若c<m,则m=dS4若d<m,则m=dS5输出m.该算法表示


  1. A.
    a,b,c,d中最大值
  2. B.
    a,b,c,d中最小值
  3. C.
    将a,b,c,d由小到大排序
  4. D.
    将a,b,c,d由大到小排序

查看答案和解析>>

现有已按照从小到大的顺序排好的20个数,要把一个数据插到这20个数中恰当的位置上,请画出用直接插入排序法排序的算法流程图.

查看答案和解析>>


同步练习册答案