中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Java項目中利用QuickSort實現一個快速排序功能

發布時間:2020-12-07 17:02:24 來源:億速云 閱讀:269 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關怎么在Java項目中利用QuickSort實現一個快速排序功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

快速排序

----------------------------------------------------------------------

思想

怎么在Java項目中利用QuickSort實現一個快速排序功能

如上圖:每趟快速排序開始時,設置一個key,key=array[low],然后由high向左,找到小于key的值,復制到low位置,然后再由low向右找到大于key的值,復制到high位置,直到low=high結束,

將key的復制到low位置。

上圖中第一輪劃分后找到32的位置,然后遞歸的對32左邊和右邊的進行排序。

代碼:

package Sort;
import java.util.Arrays;
public class QuickSort {

 public static void main(String[] args) {
  int array[]={32, 12, 7, 78, 23, 45};
  quickSort(array,0,array.length-1);
  System.out.println(Arrays.toString(array));
 }
 public static void quickSort(int array[],int left,int right)
 {
  if(left>=right)
  {
   return ;
  }
  int i=left;
  int j=right;
  int key=array[left];
  while(i<j)
  {
   while(i<j&&array[j]>key)
   {
    j--;
   }
   array[i]=array[j];
   //從后往前找到第一個比key小的數與array[i]交換;
   while(i<j&&array[i]<key)
   {
    i++;
   }
   array[j]=array[i];
   //從前往后找到第一個比key大的數與array[j]交換;
  }
  array[i]=key;
  //一趟快排之后已經將key的位置找到。
  quickSort(array,left,i-1);
  //對key左邊的進行排序
  quickSort(array,i+1,right);
  //對key右邊的進行排序
 }
}

看完上述內容,你們對怎么在Java項目中利用QuickSort實現一個快速排序功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田林县| 大洼县| 攀枝花市| 木兰县| 磐石市| 德保县| 瑞金市| 汪清县| 玉林市| 镇宁| 休宁县| 兴义市| 永清县| 安庆市| 垦利县| 始兴县| 海南省| 宾阳县| 田阳县| 新兴县| 永新县| 乐安县| 四子王旗| 寿光市| 枣阳市| 杨浦区| 昌图县| 台江县| 聊城市| 通化市| 宜君县| 资阳市| 灵璧县| 灵武市| 平潭县| 元氏县| 桂东县| 泊头市| 卫辉市| 堆龙德庆县| 新干县|