排序 排序的算法很多.課本主要介紹里兩種排序方法:直接插入排序和冒泡排序 (1)直接插入排序 在日常生活中.經(jīng)常碰到這樣一類排序問題:把新的數(shù)據(jù)插入到已經(jīng)排好順序的數(shù)據(jù)列中. 例如:一組從小到大排好順序的數(shù)據(jù)列{1.3.5.7.9.11.13}.通常稱之為有序列.我們用序號1.2.3.--表示數(shù)據(jù)的位置.欲把一個新的數(shù)據(jù)8插入到上述序列中. 完成這個工作要考慮兩個問題: (1)確定數(shù)據(jù)“8 在原有序列中應(yīng)該占有的位置序號.數(shù)據(jù)“8 所處的位置應(yīng)滿足小于或等于原有序列右邊所有的數(shù)據(jù).大于其左邊位置上所有的數(shù)據(jù). (2)將這個位置空出來.將數(shù)據(jù)“8 插進去. 對于一列無序的數(shù)據(jù)列.例如:{49.38.65.97.76.13.27.49}.如何使用這種方法進行排序呢?基本思想很簡單.即反復(fù)使用上述方法排序.由序列的長度不斷增加.一直到完成整個無序列就有序了 首先.{49}是有序列.我們將38插入到有序列{49}中.得到兩個數(shù)據(jù)的有序列: {38.49}. 然后.將第三個數(shù)據(jù)65插入到上述序列中.得到有序列: {38.49.65} ---- 按照這種方法.直到將最后一個數(shù)據(jù)65插入到上述有序列中.得到 {13.27.38.49.49.65.76.97} 這樣.就完成了整個數(shù)據(jù)列的排序工作.注意到無序列“插入排序算法 成為了解決這類問題的平臺 (2)冒泡法排序 所謂冒泡法排序.形象地說.就是將一組數(shù)據(jù)按照從小到大的順序排列時.小的數(shù)據(jù)視為質(zhì)量輕的.大的數(shù)據(jù)視為質(zhì)量沉的.一個小的數(shù)據(jù)就好比水中的氣泡.往上移動.一個較大的數(shù)據(jù)就好比石頭.往下移動.顯然最終會沉到水底.最輕的會浮到頂.反復(fù)進行.直到數(shù)據(jù)列排成為有序列.以上過程反映了這種排序方法的基本思路. 我們先對一組數(shù)據(jù)進行分析. 設(shè)待排序的數(shù)據(jù)為:{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由大到小排序

查看答案和解析>>

在求函數(shù)f(x)=的值的算法中,不可能用到的語句或算法為(    )

A.輸入語句           B.復(fù)合If語句            C.輸出語句            D.排序法

查看答案和解析>>

我們把“a=b”理解為將b的值給a,如x=3,表示把3給x.據(jù)此,閱讀下面的算法,探究該算法所處理的問題是什么.

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

查看答案和解析>>

現(xiàn)有已按照從小到大的順序排好的20個數(shù),要把一個數(shù)據(jù)插到這20個數(shù)中恰當(dāng)?shù)奈恢蒙希埉嫵鲇弥苯硬迦肱判蚍ㄅ判虻乃惴鞒虉D.

查看答案和解析>>


同步練習(xí)冊答案