對插入排序的理解

2021-07-28 09:57:39 字數 947 閱讀 3901

public class insertsort

array[j]=temp;//一直移動到比temp值小為止,資料插入}}

}

1、for 迴圈控制的是假定的插入值

,因此根據演算法思路,i

的初始值為1。

把下標為i

的資料存入臨時變數temp中,遍歷陣列內除第乙個資料外的全部資料。

2、 while迴圈用來判斷比較 假定的插入值(temp) 與前面資料的大小。

判斷區域是變數 i 之前的資料區。 

變數 j  是用來比較 ,變數 i 之前資料區內是否有比temp值還大的資料。

若前面的資料比temp大,則讓前面的資料整體後移;

最後所有比temp大的資料都向後移,

那麼前面下標為 j

的位置就是插入點,

接著讓temp插入到 j

位置;那麼temp就插入到了比它大的資料的前面。

3、對下圖array 陣列進行插入排序過程

array 3

11552

20 第一次for 迴圈,比較區域 ,temp=1,資料3比temp大,比較結果 ;

第二次 for 迴圈,比較區域 , temp=15, 比較結果 ;

第三次 for 迴圈,比較區域 , temp=5,資料15比temp大,比較結果 ;

第四次for 迴圈,比較區域,temp=2,資料3 ,5 ,15 比temp大,比較結果 ;

第五次for 迴圈,比較區域,temp=-1,比較結果。

插入排序就是   假定了陣列內第二個位置是乙個插入值,

用大迴圈for來

遍歷陣列內除第乙個位置上資料外的全部資料,

再用while迴圈來判斷比較插入值之前的資料大小,

一直移動到比插入值還小的位置處結束,

最後把這個資料值插入進去。

js演算法 對 插入排序 的理解

1,演算法簡介 插入排序的工作原理就是將未排序資料,對已排序資料序列從後向前掃瞄,找到對應的位置並插入。插入排序通常採用佔位的形式,空間複雜度為o 1 因此,在從後向前掃瞄的過程中,需要反覆的把已排序的元素逐步向後挪位,為新插入元素提供插入的位置。2,演算法描述 1 從第乙個元素開始,該元素可以被認...

插入排序的理解

插入排序 插入排序原理 將陣列中的每乙個元素與第乙個元素相比較 如果這個元素小於第乙個元素,則交換這兩個元素,然後迴圈這條規則。如圖 從圖中可以看到,我們可以把過程理解為將從陣列第二個數開始 先把這個數定為要插入的數 依次與前面的數相比較,如果後面的數小,則交換位置,直到換到不必它前面的數小為止 就...

插入排序的理解

設定乙個變數t用來提取a i 拿t與a i 左側變數進行比較,比t大的元素右移一位,拿t來補入這個空位。注意,在 實現時若不注意設定變數t,而用a i 直接比較的話,排序結果錯誤,因為當j i 1時,a j 這個數若大於a i 需要右移則變成a i 此時a i 已經改變,再與之前的值比較,發生錯誤。...