欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 算法之快速排序?qū)崿F(xiàn)代碼

 更新時(shí)間:2017年05月03日 16:40:51   投稿:lqh  
這篇文章主要介紹了java 算法之快速排序?qū)崿F(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

java 算法之快速排序?qū)崿F(xiàn)代碼

摘要: 常用算法之一的快速排序算法的java實(shí)現(xiàn)

原理:選擇一個(gè)基準(zhǔn)元素,通常選擇第一個(gè)元素或者最后一個(gè)元素,通過一趟掃描, 將待排序列分成兩部分,一部分比基準(zhǔn)元素小,一部分大于等于基準(zhǔn)元素, 此時(shí)基準(zhǔn)元素在其排好序后的正確位置,然后再用同樣的方法遞歸地排序劃分的兩部分。

  /**
   *
   * @author 阿信sxq-2015年7月16日
   *
   * @param args
   */
  public static void main(String[] args) {
    int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4,
        62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };
    if (a.length > 0) {//查看數(shù)組是否為空  
      _quickSort(a, 0, a.length - 1);
    }
    System.out.println(Arrays.toString(a));

  }

  public static void _quickSort(int[] arr, int left, int right) {
    if (left >= right) {
      return;
    }
    int low = left;
    int high = right;
    int tmp = arr[low];//數(shù)組的第一個(gè)作為中軸  
    while (low < high) {
      while (low < high && arr[high] >= tmp) {
        high--;
      }
      arr[low] = arr[high];//比中軸小的記錄移到低端  

      while (low < high && arr[low] <= tmp) {
        low++;
      }
      arr[high] = arr[low];//比中軸大的記錄移到高端  
    }
    arr[low] = tmp;//中軸記錄到尾  
    _quickSort(arr, left, low - 1);//對(duì)低字表進(jìn)行遞歸排序  
    _quickSort(arr, low + 1, right);//對(duì)高字表進(jìn)行遞歸排序  
  }
 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java的SpringMVC中控制器返回XML數(shù)據(jù)問題

    Java的SpringMVC中控制器返回XML數(shù)據(jù)問題

    這篇文章主要介紹了Java的SpringMVC中控制器返回XML數(shù)據(jù)問題,控制器是處理HTTP請(qǐng)求的組件,它們接收來自客戶端的請(qǐng)求,并將其轉(zhuǎn)換為適當(dāng)?shù)捻憫?yīng),這些響應(yīng)可以是動(dòng)態(tài)生成的?HTML?頁面,也可以是JSON或XML格式的數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • springboot+dubbo啟動(dòng)項(xiàng)目時(shí)報(bào)錯(cuò) zookeeper not connected的問題及解決方案

    springboot+dubbo啟動(dòng)項(xiàng)目時(shí)報(bào)錯(cuò) zookeeper not connect

    這篇文章主要介紹了springboot+dubbo項(xiàng)目啟動(dòng)項(xiàng)目時(shí)報(bào)錯(cuò) zookeeper not connected的問題,本文給大家定位問題及解決方案,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Java的wait(), notify()和notifyAll()使用心得

    Java的wait(), notify()和notifyAll()使用心得

    本篇文章是對(duì)java的 wait(),notify(),notifyAll()進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-08-08
  • Java設(shè)計(jì)模式之外觀模式解析

    Java設(shè)計(jì)模式之外觀模式解析

    這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式解析,外觀模式提供了一個(gè)統(tǒng)一的接口,用來訪問子系統(tǒng)中的一群接口,外觀定義了一個(gè)高層接口,讓子系統(tǒng)更容易使用,需要的朋友可以參考下
    2024-01-01
  • Java中StringBuilder類的用法解析

    Java中StringBuilder類的用法解析

    StringBuilder是一個(gè)可變的字符序列,這個(gè)類提供了一個(gè)與StringBuffer兼容的API。本文主要為大家介紹了StringBuilder類的常用用法,需要的可以參考一下
    2023-05-05
  • 建議你使用LocalDateTime而不是Date哦

    建議你使用LocalDateTime而不是Date哦

    這篇文章主要介紹了建議你使用LocalDateTime而不是Date,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java連接SAP RFC實(shí)現(xiàn)數(shù)據(jù)抽取的示例詳解

    Java連接SAP RFC實(shí)現(xiàn)數(shù)據(jù)抽取的示例詳解

    這篇文章主要為大家學(xué)習(xí)介紹了Java如何連接SAP RFC實(shí)現(xiàn)數(shù)據(jù)抽取的功能,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以了解下
    2023-08-08
  • java實(shí)現(xiàn)簡單掃雷游戲

    java實(shí)現(xiàn)簡單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • SpringBoot利用ThreadPoolTaskExecutor批量插入百萬級(jí)數(shù)據(jù)

    SpringBoot利用ThreadPoolTaskExecutor批量插入百萬級(jí)數(shù)據(jù)

    在處理大量數(shù)據(jù)時(shí),為了提高效率和性能,通常需要采用批量插入的方式,本文主要介紹了SpringBoot利用ThreadPoolTaskExecutor批量插入百萬級(jí)數(shù)據(jù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • SpringBoot在自定義類中調(diào)用service層等Spring其他層操作

    SpringBoot在自定義類中調(diào)用service層等Spring其他層操作

    這篇文章主要介紹了SpringBoot在自定義類中調(diào)用service層等Spring其他層操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論