看动画学算法之:排序-插入排序
生活随笔
收集整理的這篇文章主要介紹了
看动画学算法之:排序-插入排序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 簡介
- 插入排序的例子
- 插入排序的java程序
- 插入排序的時間復(fù)雜度
簡介
插入排序就是將要排序的元素插入到已經(jīng)排序的數(shù)組中,從而形成一個新的排好序的數(shù)組。
這個算法就叫做插入排序。
插入排序的例子
同樣的,假如我們有一個數(shù)組:29,10,14,37,20,25,44,15,怎么對它進(jìn)行插入排序呢?
先看一個插入排序的動畫,對它有個直觀的了解:
我們來分析一下排序的流程。
八個數(shù)字,我們分為7輪。
第一輪,假設(shè)29是已經(jīng)排好序的數(shù)組,從第二個元素開始,向排好序的數(shù)組插入新的元素。 也就是說向數(shù)組[29]插入10。得到[10,29]。
第二輪,[10,29]已經(jīng)排好序了,選擇數(shù)組中的第三個元素14,插入排好序的數(shù)組[10,29]。
先將29和14比較,發(fā)現(xiàn)29>14,則將29右移一位[10, ,29],然后比較10和14,發(fā)現(xiàn)10小于14,那么將14插入10后面[10,14,29],以此類推。
插入排序的java程序
我們看下java程序怎么寫:
總結(jié)
以上是生活随笔為你收集整理的看动画学算法之:排序-插入排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看动画学算法之:排序-冒泡排序
- 下一篇: 一张PDF了解JDK10 GC调优秘籍-