快速排序就是找基准,小的放左边,大的放右边,并把左右递归var arr = [1,8,2,5,14,2,4,8,10,32,45,3]; console.log(sort(arr, "min")) console.log(sort(arr, "max"))function check(arr1) { var arr_len = arr1.length; if (arr_len <= 1){ return arr1; } var middle = parseInt(arr_len / 2); var m = arr1.splice(middle, 1)[0]; var left = []; var right = []; arr_len--; for (var i = 0; i < arr_len; i++){ var flag = m < arr1[i] ; if (t) { flag = m > arr1[i] } if (flag){ left.push(arr1[i]); } else { right.push(arr1[i]); } } return check(left).concat([m], check(right)); }function sort(arr, type) { var arr_len = arr.length; var arr1 = []; arr1 = arr1.concat(arr); var t = type ? (type.toLowerCase() === "min" ? true : false) : false; return check(arr1); }
本文介绍了一种快速排序算法的实现方式。通过选取基准元素并将数组分为左右两部分,左侧元素均小于基准,右侧元素均大于基准,递归地对左右两侧进行排序。展示了如何使用JavaScript实现快速排序,并提供了示例代码。

1万+

被折叠的 条评论
为什么被折叠?



