<body>
<input type="text" id="num" value="3,2,1,4" /> <button id="sub">快速确定</button>
<script>
document.getElementById('sub').onclick=function(){
var val =document.getElementById('num').value;
var arr=val.split(',');
console.log(quicket(arr))
}
function quicket(arr){
if(arr.length<=1){
return arr
}
var pivotIndex= Math.floor(arr.length/2);//选择中间点
pivot=arr.splice(pivotIndex,1)[0];//删掉中间值后的第一个值
console.log(pivot);
var left=[];
var right=[]
for(var i=0;i<arr.length;i++){
if(arr[i]<pivot){
left.push(arr[i])
}else{
right.push(arr[i])
}
}
return quicket(left).concat([pivot],quicket(right))
}
</script>
</body>
JS 数组排序--快速排序,二分法排序
最新推荐文章于 2024-01-21 13:21:46 发布