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

JAVA版排序算法之快速排序示例

 更新時間:2017年01月03日 14:09:19   作者:EthanQ  
這篇文章主要介紹了JAVA版排序算法之快速排序,結合實例形式分析了基于java版的遍歷、遞歸實現(xiàn)快速排序功能的具體步驟與操作技巧,需要的朋友可以參考下

本文實例講述了JAVA快速排序實現(xiàn)方法。分享給大家供大家參考,具體如下:

package com.ethan.sort.java;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class QuickSort {
  public static <E extends Comparable<? super E>> List<E> quickSort(List<E> arr) {
    if(arr.size()<=1) {
      return arr;
    }
    E pivot = arr.get(0);
    //每次遞歸都會初始化,每次list都不一樣
    List<E> less = new LinkedList<E>();
    //樞軸,這個集合只有一個元素,每次都初始化,都不一樣
    List<E> pivotList = new LinkedList<E>();
    List<E> more = new LinkedList<E>();
    for(E i:arr){
      if(i.compareTo(pivot)<0) {
        less.add(i);
      } else if(i.compareTo(pivot)>0) {
        more.add(i);
      } else {
        pivotList.add(i);
        //System.out.println("p---->"+i);
      }
    }
    //遞歸
    less = quickSort(less);//比pivot小的
    //又進行quicksort,對more,再分成兩部分
    more = quickSort(more);
    //拼接 less pivot more
    less.addAll(pivotList);
    //pv-------->[23],到最后只有一個元素了
    System.out.println("pv-------->"+pivotList);
    less.addAll(more);
    return less;
  }
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Integer[] arr = {23,2,8,43,22,32,4,5,34};
    List l = quickSort(Arrays.asList(arr));
    Iterator i = l.iterator();
    while(i.hasNext()) {
      System.out.println(i.next());
    }
  }
}

希望本文所述對大家java程序設計有所幫助。

相關文章

  • Java Lambda表達式實例解析原理

    Java Lambda表達式實例解析原理

    日常開發(fā)中,我們很多時候需要用到Java?8的Lambda表達式,它允許把函數(shù)作為一個方法的參數(shù),讓我們的代碼更優(yōu)雅、更簡潔。所以整理了一波工作中常用的Lambda表達式??赐暌欢〞袔椭?/div> 2023-03-03
  • Java實現(xiàn)帶頭結點的單鏈表

    Java實現(xiàn)帶頭結點的單鏈表

    這篇文章主要為大家詳細介紹了Java實現(xiàn)帶頭結點的單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Java實現(xiàn)表白小程序

    Java實現(xiàn)表白小程序

    本文講述了Java實現(xiàn)表白的代碼實例。具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧,具體如下:
    2018-05-05
  • windows下 jdk1.7安裝教程圖解

    windows下 jdk1.7安裝教程圖解

    java編程的初學者在開始編碼前都會遇到一個難題,那就是jdk1.7環(huán)境變量配置怎么操作,怎么安裝,針對這個難題,小編特地為大家整理相關教程,不了解的朋友可以前往查看使用
    2018-05-05
  • SpringBoot使用編程方式配置DataSource的方法

    SpringBoot使用編程方式配置DataSource的方法

    這篇文章主要介紹了SpringBoot使用編程方式配置DataSource的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • SpringBoot啟動自動終止也不報錯的原因及解決

    SpringBoot啟動自動終止也不報錯的原因及解決

    這篇文章主要介紹了SpringBoot啟動自動終止也不報錯的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springboot調用HTML文件注意事項及說明

    springboot調用HTML文件注意事項及說明

    這篇文章主要介紹了springboot調用HTML文件注意事項及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • springboot配置文件中敏感數(shù)據(jù)(賬號密碼)加密方式

    springboot配置文件中敏感數(shù)據(jù)(賬號密碼)加密方式

    這篇文章主要介紹了springboot配置文件中敏感數(shù)據(jù)(賬號密碼)加密方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • java后臺啟動jar包的一些命令匯總

    java后臺啟動jar包的一些命令匯總

    這篇文章主要介紹了java后臺啟動jar包的一些命令匯總,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-03-03
  • Java中方法名稱和泛型相同的用法示例

    Java中方法名稱和泛型相同的用法示例

    這篇文章主要介紹了Java中方法名稱和泛型相同的用法,結合實例形式分析了泛型替代方法名稱的相關使用技巧,需要的朋友可以參考下
    2019-08-08

最新評論