java算法 --快速排序

Posted 小明在努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java算法 --快速排序相关的知识,希望对你有一定的参考价值。

package Solve;

import java.util.Scanner;


public class Solve
{
	static Scanner scan = new Scanner(System.in);
	 public static void main(String[] args)
	{
		int[] num = { 100,40,60,87,34,11,56,0};
		qsort(num,0,num.length - 1);
		for (int x:num)
		{
			System.out.print(x + "\t");
		}
	}
	 
	 static void qsort(int[] arr,int b,int e)
	 {
		 int x = arr[(b + e) / 2];
		 int i = b,j = e;
		 while ( i < j)  //一趟
		 {
			 while ( arr[i] < x)
				 i++;
			 while ( arr[j] > x)
				 j--;
			 if ( i < j) //!
			 {
				 int t = arr[i];
				 arr[i] = arr[j];
				 arr[j] = t;
				 i++;j--; //!
			 }
		 }
     
		 if ( i < e)  //分治
			 qsort(arr,b,i);
		 if ( j > b) //分治
			 qsort(arr,b,j);
	 }
}
    

  

以上是关于java算法 --快速排序的主要内容,如果未能解决你的问题,请参考以下文章

Java入门算法(树篇)

Java入门算法(树篇)

java 按日期分组 算法

求一个java的随机算法,高手来

用java写人脸识别算法都有哪些?

Java入门算法(动态规划篇1:初识动规)