亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

淺析java快速排序算法

2019-11-26 15:18:29
字體:
來源:轉載
供稿:網友

快速排序是找出一個元素(理論上可以隨便找一個)作為基準(pivot),然后對數組進行分區操作,使基準左邊元素的值都不大于基準值,基準右邊的元素值 都不小于基準值,如此作為基準的元素調整到排序后的正確位置。遞歸快速排序,將其他n-1個元素也調整到排序后的正確位置。最后每個元素都是在排序后的正 確位置,排序完成。所以快速排序算法的核心算法是分區操作,即如何調整基準的位置以及調整返回基準的最終位置以便分治遞歸。

一趟快速排序的算法是:

1)設置兩個變量i、j,排序開始的時候:i=0,j=N-1;
2)以第一個數組元素作為關鍵數據,賦值給key,即key=A[0];
3)從j開始向前搜索,即由后開始向前搜索(j--),找到第一個小于key的值A[j],將A[j]和A[i]互換;
4)從i開始向后搜索,即由前開始向后搜索(i++),找到第一個大于key的A[i],將A[i]和A[j]互換;
5)重復第3、4步,直到i=j; (3,4步中,沒找到符合條件的值,即3中A[j]不小于key,4中A[i]不大于key的時候改變j、i的值,使得j=j-1,i=i+1,直至找到為止。找到符合條件的值,進行交換的時候i, j指針位置不變。另外,i==j這一過程一定正好是i+或j-完成的時候,此時令循環結束)。

舉例說明一下吧,這個可能不是太好理解。假設要排序的序列為

復制代碼 代碼如下:

package com.zc.manythread;
import java.util.Random;
/**
* 快速排序
* @author Administrator
*
*/
public class QSort {
   int [] date;
   public QSort(int[] date) {
       this.date=date;
   }
   /**
    * 交換函數
    * @param a
    * @param i
    * @param j
    */
   private void swap(int a[],int i,int j) {
       int T;
       T=a[i];
       a[i]=a[j];
       a[j]=T;
   }
   /*******************
    * 排序函數
    * @param a
    * @param lo0
    * @param hi0
    * @return
    */
   int[] QuickSort(int a[],int lo0,int hi0){//分治法,作用就是將數組分為A[lo0..q-1] 和A[q+1..hi0] 
       int lo=lo0;
       int hi=hi0;
       int mid;
       if (hi0>lo0) {
           mid=a[(hi0+lo0)/2];
           while(lo<=hi){
               while((lo<hi0)&&(a[lo]<mid))  ++lo;
               while((hi>lo0)&&(a[hi]>mid))  --hi;
               if (lo<=hi) {
                   swap(a,lo,hi);
                   ++lo;
                   --hi;
               }
           }
           if (lo0<hi) {
               QuickSort(a, lo0, hi);
           }
           if (lo<hi0) {
               QuickSort(a, lo, hi0);
           }
       }
       return a;
   }
   /**************
    *
    * 創建有重復數組數據
    * *****************/
   private static int[]  createDate(int count) {
       int[] data=new int[count];
       for (int i = 0; i < data.length; i++) {
           data[i]=(int)(Math.random()*count);
       }
       return data;
   }
   /**
    * 無重復數組數據
    * @param count
    * @return
    */
   private static int[]  createDate1(int count) {
       int[] data=new int[count];
         Random rand = new Random();
         boolean[] bool = new boolean[100];
         int num = 0;
         for (int i = 0; i < count; i++) {
          do {
           // 如果產生的數相同繼續循環
           num = rand.nextInt(100);
          } while (bool[num]);
          bool[num] = true;
          data[i]=num;
         }
         return data;
   }
   /**************主函數*****************/
   public static void main(String[] args) {
       final int count=10;
       int[] data=createDate1(count);
       for (int n:data) {
           System.out.print(n+"/t");
       }
       QSort data1=new QSort(data);
       System.out.println();
       int[] a=data1.QuickSort(data,0, count-1);
       for (int n:a) {
           System.out.print(n+"/t");
       }
   }
}

結果如下:

以上就是本文所述的全部內容了,希望小伙伴們能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
4438全国成人免费| 亚洲一区二区黄| 亚洲精品黄网在线观看| 中文字幕成人精品久久不卡| 欧美黄色成人网| 亚洲天堂免费观看| 欧美日韩国产在线播放| 午夜精品国产精品大乳美女| 亚洲在线第一页| 成人久久一区二区三区| 亚洲一区二区三区在线免费观看| 日韩va亚洲va欧洲va国产| 亚洲精品999| 九九热视频这里只有精品| 久久成年人视频| 国产精品免费一区豆花| 国产99视频精品免视看7| 欧美资源在线观看| 欧美激情一区二区三级高清视频| 最近2019中文字幕大全第二页| 欧美午夜片欧美片在线观看| 久久久久久91| 久久久久久国产精品| 欧美成人精品h版在线观看| 日本欧美中文字幕| 亚洲国产欧美一区二区三区久久| 97色在线播放视频| 国产成人一区二| 亚洲第五色综合网| 91免费看视频.| 亚洲精品中文字幕有码专区| 久久久精品亚洲| 国产精品欧美一区二区| 57pao成人国产永久免费| 亚洲国产日韩精品在线| 国产精品成人一区二区三区吃奶| 欧美最近摘花xxxx摘花| 久久伊人色综合| 日韩成人在线观看| 另类视频在线观看| 日韩av一区二区在线| 欧美日韩999| 91欧美激情另类亚洲| 亚洲精品456在线播放狼人| 国产精品久久久久久婷婷天堂| 91久久精品国产91久久| 精品二区三区线观看| 亚洲欧美日韩天堂| 国产精品成人观看视频国产奇米| 久久99精品久久久久久噜噜| 亚洲国产99精品国自产| 午夜精品蜜臀一区二区三区免费| 久久久精品在线观看| 国产一区二区三区网站| 亚洲一区二区免费在线| 51午夜精品视频| 久久艳片www.17c.com| 久久久久久成人| 国产精品草莓在线免费观看| 亚洲自拍高清视频网站| 国产日韩精品一区二区| 色综久久综合桃花网| 国产精品美女久久久久久免费| 久久精品国产成人精品| 亚洲v日韩v综合v精品v| 在线视频免费一区二区| 日韩av免费在线播放| 国内精品国产三级国产在线专| 亚洲欧美第一页| 久久久天堂国产精品女人| 亚洲国产日韩欧美在线图片| 国产区亚洲区欧美区| 成人精品久久av网站| 91chinesevideo永久地址| 永久免费毛片在线播放不卡| 日韩欧美在线视频日韩欧美在线视频| 亚洲视频在线视频| 国模视频一区二区| 国产精品久久久久av| 欧美日韩国产999| 91免费精品视频| 色老头一区二区三区在线观看| 国语自产偷拍精品视频偷| 久久精品99久久久香蕉| 精品人伦一区二区三区蜜桃网站| 国产精品久久久久久中文字| 97在线视频免费播放| 成人美女av在线直播| 国产91久久婷婷一区二区| 欧美日韩国产限制| 日本午夜人人精品| 日韩免费在线视频| 精品一区二区三区四区| 国产一区二区黑人欧美xxxx| 亚洲无av在线中文字幕| 久久综合久久美利坚合众国| www日韩欧美| 亚洲人永久免费| 亚洲欧美国产日韩中文字幕| 国产欧美中文字幕| 欧美夫妻性生活视频| 亚洲欧美国产精品专区久久| 亚洲精品ady| 亚洲国产欧美一区二区三区久久| 久久亚洲综合国产精品99麻豆精品福利| 欧美日韩一区二区在线| 亚洲字幕一区二区| 国产美女久久精品| 精品久久久久久久久久久久| 在线观看国产成人av片| 日韩在线视频导航| 中文字幕亚洲自拍| 最近中文字幕2019免费| 亚洲午夜精品视频| 久久99国产精品久久久久久久久| 久久精品美女视频网站| 自拍偷拍亚洲精品| 成人av在线亚洲| 国产精品美女久久| 日韩av在线精品| 精品亚洲一区二区| 欧美日本高清视频| 国产精品网红福利| 亚洲91av视频| 4438全国成人免费| 久久久电影免费观看完整版| 中文字幕一精品亚洲无线一区| 日韩精品在线观看视频| 久久91超碰青草是什么| www.精品av.com| 57pao国产精品一区| 亚洲毛茸茸少妇高潮呻吟| 欧美有码在线观看视频| 中文字幕v亚洲ⅴv天堂| 欧美大片在线免费观看| 精品国产乱码久久久久久婷婷| 精品少妇一区二区30p| 国产一区二区丝袜高跟鞋图片| 粉嫩老牛aⅴ一区二区三区| 国产免费观看久久黄| 欧美精品videofree1080p| 国产免费久久av| 影音先锋欧美在线资源| 国产精品pans私拍| 国产成人精品久久| 国产成人精品综合久久久| 北条麻妃一区二区三区中文字幕| 欧美放荡办公室videos4k| 久久香蕉精品香蕉| 亚洲最新视频在线| 91高清免费视频| 色噜噜狠狠狠综合曰曰曰88av| 国产精品吹潮在线观看| 久久久精品一区二区| 欧美一性一乱一交一视频| 日韩精品久久久久久福利| 久久久久久12| 热re91久久精品国99热蜜臀| 久久久国产一区二区| 日本一区二三区好的精华液| 欧美在线视频一区二区| 国产精品18久久久久久麻辣| 九九九热精品免费视频观看网站| 亚洲成人免费在线视频|