JavaScript数组排序:冒泡与选择排序实现详解

作者:闭包旅人时间:2026-10-21 18:10:21浏览:553

本文详细介绍JavaScript中两种基础数组排序算法的实现。通过冒泡排序的相邻元素交换机制,以及选择排序的最小值定位与拼接策略,结合具体代码示例,解析排序逻辑与函数封装方法,帮助开发者理解排序原理并掌握相关编程技巧。

JavaScript数组排序概述

本文通过具体实例解析JavaScript数组的排序实现方式,旨在为读者提供实用的参考代码与思路。

冒泡排序实现逻辑

第一种实现方式采用冒泡排序算法。

其核心逻辑在于依次遍历数组元素,比较相邻的两个值;若前一个元素大于后一个元素,则交换它们的位置。为此,需要封装两个辅助函数:一个用于执行位置交换,另一个负责触发比较逻辑。

排序所需的比较轮数等于数组的长度。


var arr=[2,58,49,26,34];
function change(f,s){
  var temp=arr[f];
  arr[f]=arr[s];
  arr[s]=temp;
}
for(var i=0;i<arr.length;i++){
  for(var j=0;j<arr.length-1;j++){
    if(arr[j]>arr[j+1]){
      change(j,+j+1);
    }
  }
}
alert(arr);

选择排序实现逻辑

第二种实现方式采用选择排序算法。

该策略首先从整个数组中找出最小值并将其放置到数组首位,随后在剩余的子数组中重复此循环操作,直至完成排序。


var arr=[2,58,49,26,34];
function change(){
  if(arr.length==1){
    return arr;
  }
  var iMin=arr[0];
  var index=0;
  for(var i=0;i<arr.length;i++){
    if(arr[i]<iMin){
      iMin=arr[i];
      index=i;
    }
  }
  var prev=arr.splice(index,1);
  return prev.concat(change(arr));
}
alert(change(arr));

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

作者最新文章