当前位置: 首页 > news >正文

手写“堆排序”

/*方法说明:堆排序
@param  array 待排序数组*/
function heapSort(array) {console.time('堆排序耗时');if (Object.prototype.toString.call(array).slice(8, -1) === 'Array') {//建堆var heapSize = array.length, temp;for (var i = Math.floor(heapSize / 2) - 1; i >= 0; i--) {heapify(array, i, heapSize);}//堆排序for (var j = heapSize - 1; j >= 1; j--) {temp = array[0];array[0] = array[j];array[j] = temp;heapify(array, 0, --heapSize);}console.timeEnd('堆排序耗时');return array;} else {return 'array is not an Array!';}
}
/*方法说明:维护堆的性质
@param  arr 数组
@param  x   数组下标
@param  len 堆大小*/
function heapify(arr, x, len) {if (Object.prototype.toString.call(arr).slice(8, -1) === 'Array' && typeof x === 'number') {var l = 2 * x + 1, r = 2 * x + 2, largest = x, temp;if (l < len && arr[l] > arr[largest]) {largest = l;}if (r < len && arr[r] > arr[largest]) {largest = r;}if (largest != x) {temp = arr[x];arr[x] = arr[largest];arr[largest] = temp;heapify(arr, largest, len);}} else {return 'arr is not an Array or x is not a number!';}
}

 

http://www.jsqmd.com/news/1281084/

相关文章:

  • 工业信号干扰防护与光耦隔离技术实战
  • VS Code Git 工作树:多分支并行开发,让效率提升 300%
  • 虚拟化技术核心解析与实战应用指南
  • 物联网设备安全芯片SE050与PIC18F46K42集成方案
  • WASM 跨语言互操作的坑:字符串编码、内存管理和异步调用的三座大山
  • 如何免费获取网易云QQ音乐歌词:163MusicLyrics完整使用指南
  • 2026 年天津新能源库存车新能源资源车新能源汽车采购经验分享 - LYL仔仔
  • Spring @Async 不生效排查:自调用失效、默认线程池坑与异步方法里的异常去哪了
  • 2026 年浔阳区马桶疏通 菜盆疏通 抽粪,九江本地管道维修真实体验 - LYL仔仔
  • 如何用Marketch插件实现Sketch设计稿到前端代码的无缝转换
  • OpenClaw智能体框架四大安全漏洞剖析与企业级加固指南
  • Magpie:Windows平台终极窗口超分辨率工具完整指南
  • Langchain中间件-LLM工具模拟器设计与实践
  • 时间序列反事实必要性分析:从特征相关到因果推断的实践指南
  • C++多维数组:从内存布局到现代容器与性能优化实践
  • 物联网设备初级电池寿命优化方案与STM32低功耗设计
  • [WesternCTF2018]shrine-学习笔记
  • 大跨度柔性电动挡烟垂壁 消防3C认证防火防烟分区隔断
  • Hadoop+Spark+Hive构建小红书评论情感分析系统
  • RAG技术优化实战:7个提升大模型问答效果的核心技巧
  • Nintendo Switch大气层系统1.7.1:深度技术解析与高级定制指南
  • 惠州工贸公司代理记账推荐,5 家可做精细化经营账机构 - GrowUME
  • 思源宋体TTF版本:7款免费开源字体如何彻底解决中文排版难题
  • Sunshine游戏串流服务器:5步搭建你的家庭云游戏终极解决方案
  • 珠排序算法:从物理模型到C++实现的非比较排序解析
  • JAVA毕设项目: 基于 SpringBoot+Vue 的高校闲置资源数字化交易管理系统 校园二手交易诚信评价与订单管理系统(源码+文档,讲解、调试运行,定制等)
  • QQ空间历史说说完整导出终极指南:三步找回青春记忆的免费工具
  • RFID模块TOY0019实战:从硬件连接到Arduino集成的完整调试指南
  • 企业级大模型安全实战:从六大攻击类型到纵深防御体系构建
  • 2026年四川优质认证实力企业推荐:四川企诚星科技咨询有限公司 - 深度智识库