快速排序算法(Java实现)

快速排序流程

快速排序算法(Java实现)_第1张图片

import java.util.*;
	//快速排序QuickSort
	public class Sort {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		
		int[] numbers = new int[n];
		
		for (int i=0 ; i0)
		{
			Quicksort(numbers, 0, numbers.length-1);
		}
		
		for (int i : numbers) {
			System.out.printf(i + " ");
		}
		scanner.close();


	}
	//获取中轴,把numbers[0]作为中轴,两侧分化,一侧比中轴小,一侧比中轴大
	//返回中轴所在
	public static int getMiddle(int[] numbers,int low,int high)
	{
		int temp = numbers[low];
		while(low=temp)//改写为<=可以实现从大到小排序
			{
				high--;
			}
			if(lowlow)
			{
				numbers[high]=numbers[low];
			}
		}
		numbers[low] = temp;
		return low;
	}
	//迭代快排,将中轴的两侧再次求中轴,分化,直至low==high,完成快排
	public static void Quicksort(int[] numbers,int low,int high)
	{
		if (low


输入:
12
2 3 4 16 62 21 9 5 2 33 21 16
输出:
2 2 3 4 5 9 16 16 21 21 33 62
部分内容转载自:http://www.cnblogs.com/0201zcr/p/4763806.html

//第一次写博客,编辑器不会用

你可能感兴趣的:(java算法)