java实现快速排序详解编程语言

java实现快速排序:

public class QuickSort { 
 
	public static void sort(int [] array , int left ,int right) 
	{ 
		int i,j,tValue,bValue ; 
		if(left>right) 
		{	 
			return ; 
		} 
		i=left; 
		j=right; 
		//基数 
		bValue=array[left]; 
		while (i!=j) { 
			//先从右侧--移动,右侧放置大于基数的元素 
			while (array[j]>=bValue&&i<j) { 
				j--; 
			} 
			//左侧++移动,左侧放置小于基数的元素 
			while(array[i]<=bValue&&i<j) 
			{ 
				i++; 
			} 
			if(i<j) 
			{ 
				tValue=array[i]; 
				array[i]=array[j]; 
				array[j]=tValue; 
			} 
		} 
		//当i和j移动到相同位置时,交换基数 
		array[left]=array[i]; 
		array[i]=bValue; 
		//递归执行 
		sort(array,left,i-1); 
		sort(array,i+1,right); 
	} 
	 
	public static void main(String[] args) { 
		int a[] ={6,1,2,7,9,3,4,5,10,8}; 
		sort(a,0,a.length-1); 
		for(int v: a){ 
			System.err.print(v+" "); 
		} 
	} 
} 
  

输出结果:

1 2 3 4 5 6 7 8 9 10

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/13824.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论