InsertionSort

思想:將未排序的第一個(gè)元素和已排序(從最后一個(gè))比較
排序前

Paste_Image.png

第一次插入

Paste_Image.png

第二次插入

Paste_Image.png

第三次插入

Paste_Image.png

Java展現(xiàn)其思想

package sortingAlgo;

import java.util.Arrays;
import java.util.Random;

/**
 * @author 水皮蛋
 * 特點(diǎn):stable sort到忽、In-place sort
 * 最優(yōu)復(fù)雜度:當(dāng)輸入數(shù)組就是排好序的時(shí)候芽腾,復(fù)雜度為O(n)赠叼,而快速排序在這種情況下會(huì)產(chǎn)生O(n^2)的復(fù)雜度。
 * 最差復(fù)雜度:當(dāng)輸入數(shù)組為倒序時(shí)勃教,復(fù)雜度為O(n^2)。
 * 插入排序比較適合用于“少量元素的數(shù)組”嚼沿。
 */
public class InsertionSort {
    public static void main(String[] args) {
        int[] arr = createRandomArray();
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(insertionSort(arr)));
    }
    
    /**
     * @param arr 需要排序的數(shù)組
     * @return 升序數(shù)組
     */
    public static int[] insertionSort(int[] arr) {
        if (arr == null)
            throw new NullPointerException();
        int n = arr.length,j=0,key=0;
        if (!(n > 1))
            return null;
        //i是未排序的第一個(gè)角標(biāo)
        for(int i=1;i<n;i++){
            j = i-1;
            key = arr[i];
            while(j >= 0 && arr[j] > key){
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = key;
        }
        return arr;
    }
    
    /**
     * 使用Random類產(chǎn)生隨機(jī)數(shù)組的對(duì)象
     * @return 隨機(jī)數(shù)組
     */
    public static int[] createRandomArray() {
        Random random = new Random();
        int[] array = new int[10];
        for (int i = 0; i < 10; i++) {
            array[i] = random.nextInt(100);
        }
        return array;
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末哨颂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子跌宛,更是在濱河造成了極大的恐慌酗宋,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疆拘,死亡現(xiàn)場(chǎng)離奇詭異蜕猫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)哎迄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門回右,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人漱挚,你說我怎么就攤上這事翔烁。” “怎么了棱烂?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵租漂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我颊糜,道長(zhǎng)哩治,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任衬鱼,我火速辦了婚禮业筏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸟赫。我一直安慰自己蒜胖,他們只是感情好消别,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著台谢,像睡著了一般寻狂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朋沮,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天蛇券,我揣著相機(jī)與錄音,去河邊找鬼樊拓。 笑死纠亚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筋夏。 我是一名探鬼主播蒂胞,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼条篷!你這毒婦竟也來了骗随?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤拥娄,失蹤者是張志新(化名)和其女友劉穎蚊锹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稚瘾,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牡昆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摊欠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丢烘。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖些椒,靈堂內(nèi)的尸體忽然破棺而出播瞳,到底是詐尸還是另有隱情,我是刑警寧澤免糕,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布赢乓,位于F島的核電站,受9級(jí)特大地震影響石窑,放射性物質(zhì)發(fā)生泄漏牌芋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一松逊、第九天 我趴在偏房一處隱蔽的房頂上張望躺屁。 院中可真熱鬧,春花似錦经宏、人聲如沸犀暑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耐亏。三九已至徊都,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苹熏,已是汗流浹背碟贾。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轨域,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓杀餐,卻偏偏與公主長(zhǎng)得像干发,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子史翘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容