排序 排序的算法很多.課本主要介紹里兩種排序方法:直接插入排序和冒泡排序 (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} 排序的具體操作步驟如下: 查看更多

 

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


同步練習(xí)冊答案