快速排序总结

快速排序也是交换类的排序,是以一个“枢纽”为中心,将序列分成两部分,枢纽的一边全是比它小的,另一边全是比它大的。

package test;

import java.util.Arrays;


	public class QuickSort {
	    public static  void sort(int[] a) {
	        sort1(a, 0, a.length-1);
	    }
	    
		private static  void sort1(int[] a, int l, int r) {
			int temp;
			int i=l,j=r;
			if(l<r){
				temp = a[l];
				while(i!=j){
					while(i<j&&a[j]>temp)	//从右向左扫描找到一个小于temp的元素
						--j;
					if(i<j){
						a[i]=a[j];
						++i;
					}
					while(i<j&&a[i]<temp)
						++i;
					if(i<j){
						a[j]=a[i];
						--j;
					}
				}
				a[j]=temp;
				sort1(a,l,i-1);
				sort1(a,i+1,r);
				
			}
			System.out.println(Arrays.toString(a));
		}
		public static void main(String[] args) { 
			int[] a = {4,2,5,1,6,8,3,0,7,9};
			System.out.println(Arrays.toString(a));
			QuickSort.sort(a);
		}
	}
	





小白原创,如有错误请指导改正,未经作者允许,禁止转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值