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

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

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

    隨筆-4  評論-0  文章-0  trackbacks-0

    一 插入法:

    遍歷排序集合,每到一個元素時,都要將這個元素與所有它之前的元素遍歷比較一遍,讓符合排序順序的元素挨個移動到當前范圍內它最應該出現的位置。交換是相鄰遍歷移動,雙重循環控制實現.這種排序法屬于地頭蛇類型,在我的地牌上我要把所有的東西按一定的順序規整,過來一個,規整一個.

    處理代碼如下:

    public static int[] insertSort(int[] data) {
      int temp;
      for (int i = 1; i < data.length; i++) {
       for (int j = i; (j > 0) && (data[j] > data[j - 1]); j--) {

        temp = data[j];
        data[j] = data[j - 1];
        data[j - 1] = temp;
       }
      }
      return data;
     }

     

    二冒泡法:

    比較容易,它的內層循環保證遍歷一次后,集合中最小(大)元素出現在它的正確位置,下一次就是次小元素。。。該方法在集合分布的各種情況下交換移動的次數基本不變,屬于最慢的一種排序。實現也是雙重循環控制。這種排序法屬于過江龍,就是要找到極端,但是過獎龍也有大哥,二哥等,所以他們只能是大哥挑了二哥挑.

    處理代碼如下:

    public static int[] maopao(int[] data) {
      int temp;
      for (int i = 0; i < data.length - 1; i++) {
       for (int j = i + 1; j < data.length; j++) {
        if (data[i] < data[j]) {
         temp = data[i];
         data[i] = data[j];
         data[j] = temp;
        }
       }
      }
      return data;
     }

     

    三選擇法:

    該方法只是通過遍歷集合記錄最小(大)元素的位置,一次遍歷完后,再進行交換位置操作,類似冒泡,但在比較過程中,不進行交換操作,只記錄元素位置。一次遍歷只進行一次交換操作。這個對與交換次序比較費時的元素比較適合。這種排序法比冒泡法要城府要深的多,我先記住極端數據,待遍歷數據完了之后,我再處理,不像冒泡法那樣只要比自己極端一點的就要處理,選擇法只處理本身范圍內的最極端數據.

    public static int[] xuanze(int[] data) {
      int temp;
      for (int i = 0; i < data.length; i++) {
       int lowIndex = i;
       for (int j = data.length - 1; j > i; j--) {
        if (data[j] < data[lowIndex]) {
         lowIndex = j;
        }
       }
       temp = data[i];
       data[i] = data[lowIndex];
       data[lowIndex] = temp;
      }
      return data;
     }

     

    四 Shell排序:

    它是對插入排序的一種改進,是考慮將集合元素按照一定的基數劃分成組去排序,讓每一組在局部范圍內先排成基本有序,最后在進行一次所有元素的插入排序。 

    public static int[] shellSort(int[] data) {
      for (int i = data.length / 2; i > 2; i /= 2) {
       for (int j = 0; j < i; j++) {
        insertSort(data, j, i);
       }
      }
      insertSort(data, 0, 1);
      return data;
     }

     private static void insertSort(int[] data, int start, int inc) {
      int temp;
      for (int i = start + inc; i < data.length; i += inc) {
       for (int j = i; (j >= inc) && (data[j] < data[j - inc]); j -= inc) {
        temp = data[j];
        data[j] = data[j - inc];
        data[j - inc] = temp;
       }
      }
     } 

    posted on 2008-09-22 22:28 Gordon 閱讀(135) 評論(0)  編輯  收藏 所屬分類: Java

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


    網站導航:
     
    主站蜘蛛池模板: 老司机免费午夜精品视频| 久久精品国产亚洲AV忘忧草18| 亚洲中文字幕无码av| 亚洲毛片免费视频| 亚洲国产精品久久久久网站| 在线观看免费无码视频| 亚洲深深色噜噜狠狠爱网站| 精品国产呦系列在线观看免费 | 99久久国产免费-99久久国产免费| 久久久久亚洲精品无码网址| 亚欧乱色国产精品免费视频| 国产av无码专区亚洲av果冻传媒| 久久国产美女免费观看精品 | 亚洲人成电影在线观看网| 免费A级毛片无码无遮挡内射| 亚洲日本国产综合高清| 妞干网免费观看视频| 亚洲乱妇老熟女爽到高潮的片| 国产精品免费一级在线观看| 成人午夜免费视频| 亚洲国产精品久久久天堂| 美女内射无套日韩免费播放| 亚洲中文字幕久在线| 国产人成免费视频| 全黄大全大色全免费大片| 少妇中文字幕乱码亚洲影视| 国产香蕉九九久久精品免费| 日本精品久久久久久久久免费| 亚洲一区二区三区无码中文字幕| 亚洲a一级免费视频| avtt天堂网手机版亚洲| 亚洲AV无码之日韩精品| 久久久久久毛片免费播放| 亚洲日韩乱码中文字幕| 久久激情亚洲精品无码?V| 亚洲人成在线免费观看| 日韩一级片免费观看| 亚洲综合日韩中文字幕v在线| 免费高清av一区二区三区| 中国一级特黄的片子免费 | 亚洲中文字幕无码av在线|