javascript实现快速排序

快速排序是二十世纪十大算发之一,是IT工作者必会算法之一,无论什么语言实现,思想都是一样的

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			function quick_sort(arr, start, end) {
				//alert("函数里面:"+arr);
				//递归结束条件
				if (start < end) {
					//x存放所选择的中间值
					var x = arr[start];
					var i = start;
					var j = end;
					while (i < j) {
						while (i < j && arr[j] > x)
							j--;
						if (i < j)
							arr[i++] = arr[j];
						while (i < j && arr[i] <= x)
							i++;
						if (i < j)
							arr[j--] = arr[i];
					}
					arr[i]=x;					
					quick_sort(arr,start,i-1);
					quick_sort(arr,i+1,end);
				}
				return arr;
			}
			var a=[99,57,69,85,66,35,1,68,77,72,34,83,44,32];			
			alert(quick_sort(a,0,a.length-1));
		</script>
	</head>
	<body>
	</body>
</html>
该算法的时间复杂度为O(nlogn)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值