算法復(fù)習(xí)之——插入排序

原理

1.定義一個指針,將指針指向某個元素(一般指向第二個),然后把以這個元素為基準(zhǔn),將整個數(shù)組分成兩個部分,左側(cè)視為新數(shù)組,右側(cè)視為原數(shù)組
2.將此元素抽取出來,然后按照從右向左的順序分別與其左邊的元素比較,遇到比此元素大的就把這個大的元素向右移,直到遇到比它小的元素或者它左邊元素都比它大停止
3.此時會出現(xiàn)一個空位,將此元素插入到這個位置,此時新數(shù)組中它左側(cè)元素都比它小,右側(cè)都比它大
4.將指針右移一位,重復(fù)上述過程,每循環(huán)一輪,新數(shù)組就多一個,原數(shù)組就少一個,最后只剩下有序的新數(shù)組

舉例分析

對我來說圖形分析比文字分析更容易理解,我在YouTube上看到一個不錯的視頻,搬運了一下,大家可以觀看一下https://www.bilibili.com/video/av35233196/

源碼實現(xiàn)

  for(int i=1;i<arr.length;i++){
    int temp = arr[i];
    int leftIndex = i - 1;
    while(leftIndex >= 0 && arr[leftIndex] > temp){
      arr[leftIndex+1] = arr[leftIndex];
      leftIndex--;
    }
    arr[leftIndex+1] = temp;
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,615評論 3 44
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,953評論 0 0
  • 今天周四,下班后是公司羽毛球社定期的活動。這是國慶假期后的首次打球,也距離我上次打球有近半個月了。 之前我們的頻率...
    香草糖閱讀 291評論 0 2
  • 由于原生家庭的原因,年齡的原因,生理內(nèi)分泌紊亂,心情煩躁、焦慮、不安、失眠常常困擾我,學(xué)習(xí)焦點后,使我成長了很多、...
    潘巧閱讀 292評論 1 0
  • 這種天氣秋褲要穿,還要穿厚,昨天上面穿了四件,下面穿了一件,清鼻涕不知不覺就流出來了,難受。
    哲珠閱讀 188評論 3 0

友情鏈接更多精彩內(nèi)容