最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實(shí)例講述了JAVA快速排序?qū)崿F(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);
    //每次遞歸都會(huì)初始化,每次list都不一樣
    List<E> less = new LinkedList<E>();
    //樞軸,這個(gè)集合只有一個(gè)元素,每次都初始化,都不一樣
    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小的
    //又進(jìn)行quicksort,對(duì)more,再分成兩部分
    more = quickSort(more);
    //拼接 less pivot more
    less.addAll(pivotList);
    //pv-------->[23],到最后只有一個(gè)元素了
    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());
    }
  }
}

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

苍梧县| 白玉县| 通榆县| 宣恩县| 京山县| 武冈市| 自贡市| 且末县| 夏邑县| 扎赉特旗| 鹤岗市| 曲麻莱县| 石景山区| 扬州市| 泰州市| 华阴市| 镇坪县| 泸州市| 五大连池市| 伽师县| 冕宁县| 鄱阳县| 临猗县| 平利县| 长子县| 姚安县| 泰安市| 伊宁县| 九江市| 寻甸| 衡阳县| 河东区| 苏尼特左旗| 体育| 石台县| 囊谦县| 阿拉善左旗| 邵阳县| 贡觉县| 葫芦岛市| 张掖市|