1.算法的簡(jiǎn)單原理介紹
插入排序(Insertion-Sort)是一種最簡(jiǎn)單直觀的排序算法。它的工作原理是通過構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。也就是說,他是基于比較的排序。就是通過比較數(shù)組中的元素,看誰(shuí)大誰(shuí)小,根據(jù)結(jié)果來(lái)調(diào)整元素的位置。因此,對(duì)于這類排序,就有兩種基本的操作:
①比較操作;
②交換操作。
2.插入排序的實(shí)現(xiàn)步驟
將第0個(gè)元素開始,該元素可以認(rèn)為已經(jīng)排序完成;
從下一個(gè)元素開始,從排序完成的元素開始由后往前掃描;
如果已經(jīng)排序完成的元素大于新元素,則新元素前移;
重復(fù)3的步驟,直到已排序元素小于等于新元素;
將新元素插入到該元素后面;
重復(fù)以上步驟(2-5);
以上文字讀起來(lái)可能比較難以理解,通過下面的動(dòng)態(tài)圖可以更好的理解。
簡(jiǎn)言之,就是從前往后,將小數(shù)據(jù)元素往前移。
3.插入排序的程序?qū)崿F(xiàn)
舉例分析如下:
以5,3,2,3排序過程如下:
---------------------------------------------------------------------------------------------------------------
第一趟:3 5 2 3
第0個(gè)元素5認(rèn)為是排序完成的,從第1個(gè)元素開始,第1個(gè)元素和第0個(gè)元素比較,第1個(gè)元素小,所以前移;
---------------------------------------------------------------------------------------------------------------
第二趟:2 3 5 3
第2個(gè)元素2跟第1個(gè)元素5比較,小,所以第二個(gè)元素前移,再與第0個(gè)元素比較,還小,所以再前移;
---------------------------------------------------------------------------------------------------------------
第三趟:2 3 3 5
第3個(gè)元素,與第2個(gè)元素比較,小,所以第三個(gè)元素前移,再與前一個(gè)元素比較,不小于,所以不動(dòng),完成排序。
---------------------------------------------------------------------------------------------------------------
4.最后總結(jié):
插入排序,就是玩兒牌的過程,在抓牌的時(shí)候,放牌的過程中就完成了一次排序,會(huì)打牌的朋友可以回想一下這個(gè)過程。
推薦閱讀 :
冒泡排序,經(jīng)典的排序算法
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!