陣列的簡單排序之插入排序

2021-10-11 03:50:42 字數 767 閱讀 6956

插入排序的工作方式非常像人們排序一手撲克牌一樣。開始時,我們的左手為空並且桌子上的牌面朝下。然後,我們每次從桌子上拿走一張牌並將它插入左手中正確的位置。為了找到一張牌的正確位置,我們從右到左將它與已在手中的每張牌進行比較,如下圖所示:

那插曲排序是如何借助上面提到的思想來實現排序的呢?首先我們將陣列中的資料分為兩個區間,已排序區間和未排序區間。初始已排序區間只有乙個元素,就是陣列的第乙個元素,然後在未排序區間中依次取出元素並插入到已排序區間的合適位置,並保證已排序區間一直是有序。重複這個步驟直到未排序區間元素為空,演算法結束。

從第乙個元素開始,該元素可以認為已經被排序

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

如果該元素(已排序)大於新元素,將該元素移到下一位置

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

將新元素插入到該位置後

重複步驟2~5

可以用一張圖來理解一下上面的演算法步驟:

**於捎的飯捎的飯

**於geeksforgeeks

**實現

public class insertdemo 

arr[j + 1] = temp;}}

}

簡單排序之插入排序

原理 外層迴圈從座標為1的元素開始遍歷,內層迴圈從i 1遞減,兩兩比較大小,向左移動位置 優化 相比氣泡排序 選擇排序交換次數減少了,移動的速度比交換的速度快得多。package sort 插入排序 public class insertion system.out.println 未排序前 for...

簡單排序 插入排序

獨學而無友,則孤陋而寡聞。前面一篇部落格寫了氣泡排序,接著我們總結一下選擇排序 首先要了解選擇排序的基本思想,從第乙個元素開始,取出下乙個元素比較,如果該元素小於前乙個元素則插入到前乙個元素的前面,文字表述比較抽象,還是通過案例來說明。當我們定義乙個陣列,看下圖 通過四輪比較每次將該輪最小的值插入到...

簡單排序 插入排序

首先,插入排序關鍵就是在於插入的方法,插入的方法不同,排序就不同,一種最簡單的就是類似於選擇排序,就是將陣列中的後面的乙個元素陣列中的最後乙個元素比較,如果後面是比前面的小,則交換,否則不交換。這種就是最直接的排序。插入排序,關鍵就是要比較相鄰的元素的大小,然後將小的元素的座標記下,然後繼續向前比較...