02 排序 插入排序

2022-04-20 02:51:11 字數 912 閱讀 7485

【基本原理】

直接插入法思想:

1.在原始資料中,將第乙個資料作為已排序的資料序列

2.從陣列中獲取下乙個元素,在已經排序好的元素中從後向前掃瞄,並判斷該元素與已排列好的的大小

3.若排序序列的元素大於新元素,則將該元素移到下一位置

4.重複步驟三,直到找到已排序的元素小於或者等於行元素的位置

5.將新元素插入到該位置

6.重複步驟2~5,直到資料處理完畢

【舉例】

待排序陣列

【38,65,97,76,13,27,49】

排序過程

第一趟插入38:【38,65,97,76,13,27,49】

第二趟插入65:【38,65,97,76,13,27,49】

第三趟插入97:【38,65,97,76,13,27,49】

第四趟插入76:【38,65,76,97,13,27,49】

第五趟插入13:【13,38,65,76,97,27,49】

第六趟插入27:【13,27,38,65,76,97,49】

第七趟插入49:【13,27,38,49,65,76,97】

【**實現】

package

com.sort;

public

class

testinsertsort

a[j+1]=tmp; //

插入資料,因為上面的for迴圈最後執行了一次j--,所以賦值時a[j+1]

}

return

a; }

public

static

void

main(string args);

a=insertsort(a);

for(int i=0;i)

}}

排序概念與插入排序 7 1 排序 (25 分)

給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 直接用氣泡排序會超時,改良了一下也不行。換成了直接插入排序。一開始的 include using namespace std int main for int ...

Day7 排序 插入排序和氣泡排序

常用的排序 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序 冒泡 插入 選擇 o n 2 基於比較 快排 歸併 o nlogn 基於比較 桶 計數 基數 o n 如何分析乙個排序演算法?排序演算法的執行效率 a.最好情況 最壞情況和平均情況的時間複雜度 b.時間複雜度的...

演算法 02 插入排序

插入排序 insertsort 如撲克牌插牌一樣,通過構建有序序列,將元素插入乙個已經排序好的序列中。插入排序是對氣泡排序的改進。插入排序同樣通過構建巢狀for的形式進行排序。for i 1 i i for j i 1 j 0 j 將a 0 看成是已經排好序的序列,所以從第2個元素 i 1 開始遍歷...