<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dev@Free

    zJun's Tech Weblog

    [排序] 插入排序

    插入排序,好比是洗撲克一樣,我們將牌分作兩堆,每次從后面一堆的牌抽出最前端的牌,然后插入前面一堆牌的適當位置,例如:

    排序前: [92], 77, 67, 8, 6, 84, 55, 85, 43, 67? -- 將數組分為兩部分,第一個元素為一組

    第 1 次排序:[77 92] 67 8 6 84 55 85 43 67???? -- 將后一組的第一個元素 77 插入前一組的適當位置
    第 2 次排序:[67 77 92] 8 6 84 55 85 43 67???? -- 將后一組的第一個元素 67 插入前一組的適當位置
    第 3 次排序:[8 67 77 92] 6 84 55 85 43 67???? -- 將后一組的第一個元素?8 插入前一組的適當位置?
    第 4 次排序:[6 8 67 77 92 84] 55 85 43 67????? -- 將后一組的第一個元素?6 插入前一組的適當位置
    第 5 次排序:[6 8 67 77 84 92 55] 85 43 67????? -- 將后一組的第一個元素?84 插入前一組的適當位置
    第 6 次排序:[6 8 55 67 77 84 92 85] 43 67????? -- 將后一組的第一個元素?55 插入前一組的適當位置
    第 7 次排序:[6 8 55 67 77 84 85 92 43] 67????? -- 將后一組的第一個元素?85 插入前一組的適當位置
    第 8 次排序:[6 8 43 55 67 77 84 85 92] 67????? -- 將后一組的第一個元素?43 插入前一組的適當位置
    第 9 次排序:[6 8 43 55 67 67 77 84 85 92]????? -- 將后一組的第一個元素?67 插入前一組的適當位置

    Java代碼實現,如下:

    /** ?
    ??*?插入排序
    ??*??
    @param ??data:等代排序整型數組
    ??*?????data?=?{?92,?77,?67,?8,?6,?84,?55,?85,?43,?67?}
    ??*?????排序結果:
    ??*????????第?1?次排序:77?92?67?8?6?84?55?85?43?67?
    ??*????????第?2?次排序:67?77?92?8?6?84?55?85?43?67?
    ??*????????第?3?次排序:8?67?77?92?6?84?55?85?43?67?
    ??*????????第?4?次排序:6?8?67?77?92?84?55?85?43?67?
    ??*????????第?5?次排序:6?8?67?77?84?92?55?85?43?67?
    ??*????????第?6?次排序:6?8?55?67?77?84?92?85?43?67?
    ??*????????第?7?次排序:6?8?55?67?77?84?85?92?43?67?
    ??*????????第?8?次排序:6?8?43?55?67?77?84?85?92?67?
    ??*????????第?9?次排序:6?8?43?55?67?67?77?84?85?92?
    ???
    */
    ?
    public ? void ?insertSort( int ?data[])? {
    ????????
    int ?k,?temp,?max? = ?data.length;

    ????????
    for ?( int ?i? = ? 1 ;?i? < ?max;?i ++ )? {
    ????????????temp?
    = ?data[i];? // ?后一組的第一個元素
    ????????????k? = ?i? - ? 1 ;? // ?從前一組的最后一個元素開始比較
    ???????????? while ?(temp? < ?data[k])? {
    ????????????????data[k?
    + ? 1 ]? = ?data[k];? // ?如果前一組元素大于后一組第一個元素,則后移
    ????????????????k -- ;
    ????????????????
    if ?(k? == ? - 1 )
    ????????????????????
    break ;? // ?如果前一組元素比較完,則跳出
    ????????????}

    ????????????data[k?
    + ? 1 ]? = ?temp;? // ?插入適當的位置

    ????????????System.out.print(
    " ?第?? " ? + ?i? + ? " ??次排序:? " );
    ????????????
    for ?( int ?j? = ? 0 ;?j? <= ?max? - ? 1 ;?j ++ )? {
    ????????????????System.out.print(data[j]?
    + ? " ??? " );
    ????????????}

    ????????????System.out.println();
    ????????}

    ????}

    posted on 2006-07-10 14:32 zJun's帛羅閣 閱讀(507) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    統計

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    博客

    文檔

    站點

    論壇

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品自在在线观看| 亚洲国产主播精品极品网红| 亚洲国产精品嫩草影院| 又粗又大又黑又长的免费视频| 无码乱人伦一区二区亚洲一| 亚洲毛片无码专区亚洲乱| 无码av免费网站| 日本成年免费网站| 亚洲中文字幕无码久久2020| 免费可以在线看A∨网站| 亚洲熟妇少妇任你躁在线观看| 免费观看男人免费桶女人视频| 亚洲av乱码一区二区三区按摩| 国产在线a不卡免费视频| 永久免费无码网站在线观看个| 在线亚洲午夜理论AV大片| 亚洲人和日本人jizz| 免费无码黄十八禁网站在线观看| 亚洲精品无码日韩国产不卡av| 暖暖免费高清日本一区二区三区| 九九精品国产亚洲AV日韩| 国产成人亚洲精品影院| 国产午夜精品免费一区二区三区 | 精品视频一区二区三区免费| 久久亚洲精品成人综合| 亚洲国产精品免费观看| 综合一区自拍亚洲综合图区| 中文字幕亚洲第一| 50岁老女人的毛片免费观看| 亚洲无人区一区二区三区| 免费无码中文字幕A级毛片| 亚洲一区AV无码少妇电影| 国产成人免费手机在线观看视频 | 亚洲美免无码中文字幕在线| 一二三四在线播放免费观看中文版视频 | 人妻免费久久久久久久了| 亚洲ⅴ国产v天堂a无码二区| 好爽又高潮了毛片免费下载| 一边摸一边桶一边脱免费视频| 亚洲男人电影天堂| 亚洲av区一区二区三|