排序算法

	// 快速排序,原理:通过选定一个key,i=0;j=n-1;第一次排序时,将i的值list[i]从前往后找比key小的值,将j的值list[j]从后往前找比key大的值
	// 找到则与key调换位置,直到i与j相等;此时:key左边的值都比其小;key右边的值都比其大;
	public static void QuickSort(int[] list, int start, int end) {
		int i = start;
		int j = end;
		int tmp;
		if ((list == null) || (list.length == 0)) {
			return;
		}
		while (i < j) {
			while ((i < j) && list[i] <= list[j]) {
				j--;
			}
			if (i < j) {
				tmp = list[i];
				list[i] = list[j];
				list[j] = tmp;
			}
			while (i < j && list[i] < list[j]) {
				i++;
			}
			if (i < j) {
				tmp = list[i];
				list[i] = list[j];
				list[j] = tmp;
			}
		}
		if (start < end) {
			QuickSort(list, start, i - 1);
			QuickSort(list, i + 1, end);
		}
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值