冒泡排序的原理

简介: 冒泡排序算法的原理如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较白话就是:比如有6个数,你需要比较5趟,这个是固定死的

冒泡排序原理:

冒泡排序算法的原理如下:

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

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

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

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较

白话就是:比如有6个数,你需要比较5趟,这个是固定死的


代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const arr = [10, 15, 5, 4, 9, 3, 8]
        function bubbleSort(arr) {
            //  临时存储变量
            let temp;
            for (let i = 0; i < arr.length - 1; i++) {
                for (let j = 0; j < arr.length - 1 - i; j++) {
                    if (arr[j] >arr[j+1]) {
                        // 如果前面的数大于后面的数那么两者就调换位置
                        temp = arr[j]
                        arr[j] = arr[j+1]
                        arr[j+1] = temp
                    }
                }
            }
            return arr
        }
        console.log(bubbleSort(arr));//[3, 4, 5, 8, 9, 10, 15]
    </script>
</body>
</html>
相关文章
|
2月前
|
人工智能 架构师 搜索推荐
智能体来了:IP操盘手如何用AI智能体实现企业赋能
AI时代,IP操盘手正升级为“AI赋能架构师”。本文以阿里云百炼平台为例,解析如何将IP专业力与AI智能体结合,打造服务企业的“知识库+工具”闭环,实现从内容IP到商业引擎的跃迁。
|
Shell Python
Python中os模块的常用方法和示例
在Python中,`os`模块提供了与操作系统交互的函数,用于文件和目录管理、路径操作、环境变量等。常用方法包括路径操作(如`os.path.join()`、`os.path.abspath()`)、文件和目录管理(如`os.mkdir()`、`os.remove()`)、环境变量和进程管理(如`os.getenv()`、`os.system()`)以及其他常用功能(如`os.getcwd()`、`os.urandom()`)。
576 0
|
9月前
|
数据采集 达摩院 架构师
广东珠江投资管理集团走进阿里云
广东珠江投资管理集团走进阿里云
|
Java
BIO、NIO、AIO 有什么区别
BIO(阻塞I/O)模型中,服务器实现模式为一个连接一个线程;NIO(非阻塞I/O)使用单线程或少量线程处理多个请求;AIO(异步I/O)则是在NIO基础上进一步优化,采用事件通知机制,提高并发处理能力。
439 6
|
存储 搜索推荐 Linux
2024年 15 个最佳免费开源 Linux 文件管理器
【4月更文挑战第25天】
11464 53
2024年 15 个最佳免费开源 Linux 文件管理器
|
JavaScript 前端开发 网络架构
如何使用Vue.js构建响应式Web应用
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用
|
存储 负载均衡 算法
【编程基础知识】正数负数的二进制位运算(左移 右移 无符号右移)
正数和负数需转换成二进制后进行移位运算。左移低位补0,不影响符号位;右移符号位跟随移动,最高位还原为原符号位;无符号右移高位补0,适用于负数处理。
901 0
|
Serverless 文件存储 对象存储
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
570 0
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
|
监控 安全 网络安全