js沙雕排序之睡眠排序&随机排序
1.睡眠排序,只要睡的时间多少就可以排序出来不要在乎时间多少
var arr=[4,77,741,41,142,52,244];
var sleepSort=function(arr,callback){
const res=[];
arr.forEach(item=>{
setTimeout(()=>{
res.push(item)
// 如果执行完毕,回调
if(res.length===arr.length) callback(res);
},item)
});
}
sleepSort(arr,res=>{console.log(res)})
2.随机排序,看运气
// 随机排序
function randomSort(arr) {
var n = 0,
ordered = false;
function shuffle(array) {
for (var i = 0, length = arr.length; i < length; i++) {
var j = Math.floor(Math.random() * length);
[arr[i], arr[j]] = [arr[j], arr[i]];
n++;
}
}
function isOrdered(array) {
for (var i = 1, length = arr.length; i < length; i++) {
if (arr[i] < arr[i - 1]) {
return false;
}
}
return true;
}
// 关键代码 嘿嘿
while (ordered == false) {
v = shuffle(arr);
ordered = isOrdered(arr);
}
console.log('额。。。计算了' + n + '次')
return arr;
}
randomSort([3, 5, 8, 2, 55, 68, 125, 5536 ])
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求