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

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

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

    heting

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      40 隨筆 :: 9 文章 :: 45 評論 :: 0 Trackbacks
    JAVA四種基本排序,包括冒泡法,插入法,選擇法,SHELL排序法.其中選擇法是冒泡法的改進,SHELL排序法是插入法的改進.所以從根本上來說可以歸納為兩種不同的排序方法:即:插入法&冒泡法

    一插入法:遍歷排序集合,每到一個元素時,都要將這個元素與所有它之前的元素遍歷比較一遍,讓符合排序順序的元素挨個移動到當前范圍內它最應該出現的位置。交換是相鄰遍歷移動,雙重循環控制實現.這種排序法屬于地頭蛇類型,在我的地牌上我要把所有的東西按一定的順序規整,過來一個,規整一個.
    處理代碼如下:
    public void sort(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
    =date[j];
    data[j]
    =data[j-1];
    data[j
    -1]=temp; }

    }

    }

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

    }

    四 Shell排序:
    它是對插入排序的一種改進,是考慮將集合元素按照一定的基數劃分成組去排序,讓每一組在局部范圍內先排成基本有序,最后在進行一次所有元素的插入排序。
    public void sort(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);


    private 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 2009-04-03 09:51 賀挺 閱讀(330) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲中文无码永久免费| 97在线视频免费| 免费人成年轻人电影| 亚洲综合色丁香婷婷六月图片 | 亚洲jizzjizz在线播放久| 日本高清在线免费| 亚洲一区二区三区乱码在线欧洲| 国产在线观看免费观看不卡| 亚洲av成人综合网| 无码高潮少妇毛多水多水免费| 亚洲一本一道一区二区三区| 天天摸夜夜摸成人免费视频| 日韩亚洲国产综合高清| 免费无码又爽又刺激高潮的视频| 无码色偷偷亚洲国内自拍| 亚洲人成网站色在线入口| 一区二区三区免费电影| 久久青青草原亚洲AV无码麻豆| 91久久精品国产免费直播| 亚洲一区欧洲一区| 免费中文字幕不卡视频| 久久精品国产免费一区| 91在线亚洲精品专区| 在线A级毛片无码免费真人| 西西人体大胆免费视频| 国产亚洲精AA在线观看SEE| 久久大香香蕉国产免费网站| 亚洲国产日韩在线| 亚洲国产精品13p| 午夜网站免费版在线观看| 无码天堂亚洲国产AV| 无码乱人伦一区二区亚洲| 成年女人免费视频播放体验区| 色九月亚洲综合网| 亚洲丁香色婷婷综合欲色啪| 毛片在线看免费版| 免费久久人人爽人人爽av | 亚洲国产一区国产亚洲| 夜夜爽免费888视频| 少妇性饥渴无码A区免费| 精品久久亚洲中文无码|