前端JS算法-冒泡排序

原理:相邻的数据进行两两比较,小数放在前面,大数放在后面,这样一趟下来,最小的数就被排在了第一位,第二趟也是如此,如此类推,直到所有的数据排序完成。

描述:

<1>比较相邻的元素。如果第一个比第二个大,就交换它们两个;

<2>对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;

<3>针对所有的元素重复以上的步骤,除了最后一个;

<4>重复步骤1~3,直到排序完成。

javascript 复制代码
      var arr = [4, 23, 100, 9, 7, 49, 36, 57];

      for (var i = 0; i < arr.length - 1; i++) {
        //确定轮数
        for (var j = 0; j < arr.length - i - 1; j++) {
          //确定每次比较的次数
          if (arr[j] > arr[j + 1]) {
            let tem = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = tem;
          }
        }
         console.log("第" + i + "次排序" + arr);
      }
      console.log("最终排序:" + arr);

这段代码是一个冒泡排序算法的实现,用于将数组按升序排列。

冒泡排序的基本思想是从第一个元素开始,依次比较相邻的两个元素,如果顺序不对则交换它们,一轮比较下来,最大的元素会沉到最后一个位置。

/然后,对剩余的元素重复以上步骤,直到整个数组排序完成。

相关推荐
空中海几秒前
02 React Native状态、导航、数据流与设备能力
javascript·react native·react.js
fie88891 分钟前
基于遗传算法的机械故障诊断MATLAB程序
算法·机器学习·matlab
nlpming6 分钟前
opencode MCP(Model Context Protocol)配置手册
算法
是安迪吖12 分钟前
企业资产管理系统练习
前端·ai
zhouwy11317 分钟前
AI 编程工具结合 Figma MCP 实现前端设计高保真还原
前端·人工智能·figma
MATLAB代码顾问19 分钟前
MATLAB实现灰狼算法优化PID参数
算法·机器学习·matlab
kyriewen37 分钟前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
前端·c++·webassembly
悟空和大王40 分钟前
核心 SDK 详细设计文档 (Visual-Render-SDK)
前端
空中海43 分钟前
02 状态、Hooks、副作用与数据流
开发语言·javascript·ecmascript