這一個排序法一開始我也是不太了解

拜讀了

杰瑞:http://jerry17768java.blogspot.tw/2012/08/bubble-sort.html

yehyeh:http://notepad.yehyeh.net/Content/Algorithm/Sort/Insertion/1.php

這個演算法的概念,也是有著已排序跟未排序 ,他主要的目的就是將一個未排序的數字插入以排序的數字中

    int n=6;
    int a[n]={13,11,25,7,8,9};
    //插入排序就是找一個先排序接著,再從整個資料掃瞄找到適當位置插入
    //"被插入的資料就會往後"排序 
    int tmp;
    for(int i=1;i<(n);i++){
        //i=1是因為假設好有一個已經排序過    
        tmp=a[i];    

        //這邊用tmp是因為它是一個數去跟其他數比大小再插入
        while(tmp<a[i-1]&&i>=0){//防止i小於負1 
            //i-1  代表上一個 以排序過的 
            a[i]=a[i-1];
            //代表位置讓給別人 所以原本a[i]的tmp 是 沒有在任何位置上的 比他的的數字向右挪
            i--;
        }
        a[i]=tmp;     //所以最後確定沒比其他人小才給他位置 最後撈到的就是那一個a[i] 
    }
    for(int i=0;i<n;i++){
        cout<<a[i]<<endl;
    }

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 晨柚 的頭像
    晨柚

    晨柚的部落格

    晨柚 發表在 痞客邦 留言(0) 人氣()