快速排序
//快速排序
var arr=[10,66,3,64,2,98];
function fn(arr){
//取中间值
var index=arr.length%2 == 0? arr.length/2:(arr.length+1)/2;
var mid=arr[index];
var left=[];
var right=[];
if(arr.length<2){
return arr;
}
for(var i=0;i<arr.length;i++){
if(index!=i&&arr[i]<mid){
left.push(arr[i]);
}
}
for(var i=0;i<arr.length;i++){
if(index!=i&&arr[i]>=mid){
right.push(arr[i]);
}
}
return fn(left).concat(mid).concat(fn(right));
}
console.log(fn(arr));
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步