插入排序的理解

2021-08-15 08:27:08 字數 689 閱讀 6634

—– 插入排序 —– 

插入排序原理:將陣列中的每乙個元素與第乙個元素相比較!如果這個元素小於第乙個元素,則交換這兩個元素,然後迴圈這條規則。 

如圖: 

從圖中可以看到,

我們可以把過程理解為將從陣列第二個數開始(先把這個數定為要插入的數)依次與前面的數相比較,如果後面的數小,則交換位置,直到換到不必它前面的數小為止(就將要插入的數付給最後依次比數的位置)。

int arrs=

newint

;for

(inti=1

; iint

k=arrs[i];

//取出待插入元素

intj;

//作為插入位置

for(j=i-

1; j>=

0&&k

//將這個數與它前面的數一一比較

arrs[j+

1]=arrs[j];

//若這個數小,則把它前面的數向後移動

} arrs[j+

1]=k;

//最後找到插入位置,如上圖,3跟6 5 4 2 最後插入到原來4的位置

} system.

out.println(arrays.tostring(arrs)); }

插入排序的理解

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

對插入排序的理解

public class insertsort array j temp 一直移動到比temp值小為止,資料插入 1 for 迴圈控制的是假定的插入值 因此根據演算法思路,i 的初始值為1。把下標為i 的資料存入臨時變數temp中,遍歷陣列內除第乙個資料外的全部資料。2 while迴圈用來判斷比較 ...

理解氣泡排序和插入排序

我們還是用揭撲克牌來理解這兩種排序方法,我們需要從小到大來排序,假定最小的牌和最大的牌是未知的,那麼對於氣泡排序來講,過程就是揭起第一張牌,又揭起第二張牌,兩張牌比較,留下小的,又揭第三張牌,再與手中的牌比較,以此 那麼無論你手中現在是什麼牌,你都需要將所有的牌全部揭起來比較之後,才能確定你拿到的是...