版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36818386/article/details/81567667
先找到一个标杆(我们将这个标杆设置为数组第0项)
var pivot = array[0]; //标杆
分别将比标杆大的数和比标杆小的数放到一边。
if(array[i] > pivot)
{
max.push(array[i]);
}
else
{
//归为小的一类
min.push(array[i]);
}
综合起来写:
<script>
/*快速排序法*/
function quickSort(array)
{
if(array.length <= 1)
{
return array;
}
var pivot = array[0]; //标杆
var max = []; //存放大的一类
var min = []; //存放小的一类
for(var i = 1; i < array.length; i++)
{
//如果一个值大于标杆的值,将它归为大的一类
if(array[i] > pivot)
{
max.push(array[i]);
}
else
{
//归为小的一类
min.push(array[i]);
}
}
return quickSort(min).concat(pivot, quickSort(max));
}
var array = [45, 18, 89, 10, 6, 58, 99, 42, 25];
console.log(quickSort(array));
</script>