首页 > 代码库 > 快速排序(Java版)
快速排序(Java版)
package com.love.test; import java.util.Scanner; /** * @author huowolf *快速排序实现 *快排是十分优秀的排序算法。 *核心:分治法(1.选基元2.分区3.递归子列) */ public class QuickSort { public static void quickSort(int[] arr,int start ,int end) { if(start<end) { int i=start, j=end, x=arr[start];//基元 while(i<j) { //从右向左扫描小于x的数 while(i<j && arr[j]>=x) j--; if(i<j) arr[i++]=arr[j]; //从左向右扫描大于x的数 while(i<j && arr[i]<=x) i++; if(i<j) arr[j--]=arr[i]; } arr[i]=x;//在最后一个位置中填入基准数 quickSort(arr, start, end-1);//递归 quickSort(arr, start+1, end); } } public static void main(String[] args) { int[] arr = new int [10]; System.out.println("请依次输入十个整数:"); Scanner s = new Scanner(System.in); for(int i=0;i<10;i++) { arr[i] = s.nextInt(); } System.out.println("排序前的顺序为:"); for(int i=0;i<10;i++) { System.out.print(arr[i]+" "); } quickSort(arr, 0, arr.length-1); System.out.println("\n排序后的顺序为:"); for(int i=0;i<10;i++) { System.out.print(arr[i]+" "); } } }
参考一位大牛的博文,讲的很好,博文地址:http://blog.csdn.net/morewindows/article/details/6684558
加油,自己!!
快速排序(Java版)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。