冒泡排序、选择排序

冒泡排序

按照冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变

大的往右丢(往下沉),小的往左排

image-20200730185547751

  • 外层循环控制趟数
  • 内层循环控制每一趟的交换次数
  • 内部交换两个变量的值

image-20200805120922422

内层for循环 第一趟的索引号是0 交换次数是4

内层for循环 第二趟的索引号是1 交换次数是3

内层for循环 第三趟的索引号是2 交换次数是2

内层for循环 第四趟的索引号是3 交换次数是1

  • image-20200730230353196

image-20200730190418228

image-20200805115329377

细节优化:

image-20200805115612895

// 优化1 arr.length-1
for(var i = 0;i<arr.length-1;i++){for(var j = 0;j<arr.length-1;j++){} 
}//优化2  减去多余的比较次数  arr.length-1-i
for(var i = 0;i<arr.length-1;i++){for(var j = 0;j<arr.length-1-i;j++){} 
}

选择排序

image-20200805150458986

// 选择排序// 拿第一个值和后面的值,进行比较var list = [83, 41, 71, 45, 79];// 第一轮结束之后最小的值,放在最前面for (var i = 0; i < list.length - 1; i++) {// 假设一个i为最小值// 内层循环,控制每层做什么操作(拿本次选取的值,与后面的值比较)for (var j = i + 1; j < list.length; j++) {// 如果前面的值,比后面的大,放到最后if (list[i] > list[j]) {// 交换位置var temp = list[i];list[i] = list[j];list[j] = temp;}}}console.log('选择排序如下' + list);

选择排序优化

var list = [83, 41, 71, 45, 79];// 第一轮,找到最小的值,放到下标为0的位置// 第二轮,找到第二小的值,放到下标为1的位置// n个数,找n-1次var min = list[i];// 假设最小值list[i]var minIndex =i; // 假设最小值下标for (var i = 0; i < list.length - 1; i++) {for (var j = i + 1; j < list.length; j++) {if (list[j] < list[minIndex]) {// min = list[j];minIndex = j;}}}var temp = list[i];list[i] = list[minIndex];list[minIndex] = temp;console.log('选择排序如下' + list);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动应用开发大作业报告

1 基本信息 1.1 系统名称 中华字典 1.2 开发运行环境 开发环境&#xff1a;Windows 10 专业版&#xff0c;JDK 1.8&#xff0c;AndroidStudio 运行环境&#xff1a;Java SE Runtime Environment (JRE) 8 1.3 使用的核心技术 JFrame&#xff1a;作为实现界面的窗体类&…

【数据结构与算法】最小生成树

文章目录 最小生成树&#xff08;MST&#xff09;定义 构造最小生成树Prim算法Kruskal算法 最小生成树&#xff08;MST&#xff09; 连通图的生成树包含图的所有顶点&#xff0c;并且只含有尽可能少的边。对于生成树来说&#xff0c;若砍去它的一条边&#xff0c;则会使生成树…

练习时长 1 年 2 个月的 Java 菜鸡练习生最近面经,期望25K

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 自我介绍&#xff1a;本人是练习时长 1 年 2 个月的 Java 后端菜鸡练习生。下面是我最近面试的面经&#xff1a; 百度 一面 约1h时间&#xff1a;2…

MySQL常见面试题自测

文章目录 MySQL基础架构一、说说 MySQL 的架构&#xff1f;二、一条 SQL语句在MySQL中的执行过程 MySQL存储引擎一、MySQL 提供了哪些存储引擎&#xff1f;二、MySQL 存储引擎架构了解吗&#xff1f;三、MyISAM 和 InnoDB 的区别&#xff1f; MySQL 事务一、何谓事务&#xff1…

Python类的优势及应用场景深度分析(代码封装与组织、继承与代码复用、多态与接口、状态管理与行为封装)(python class)

文章目录 Python 类的优势及应用场景深度分析1. 代码封装与组织1.1 封装性示例代码&#xff1a;用户账户管理 1.2 组织性 2. 继承与代码复用2.1 继承性示例代码&#xff1a;员工管理系统 3. 多态与接口3.1 多态性示例代码&#xff1a;图形渲染 4. 状态管理与行为的封装4.1 状态…

黄仁勋加州理工毕业典礼演讲:人工智能是我们这个时代最重要的技术

英伟达公司首席执行官黄仁勋周五&#xff08;6月14日&#xff09;在加州理工学院&#xff08;Caltech&#xff09;毕业典礼上发表演讲&#xff0c;鼓励毕业生在逆境中努力&#xff0c;不断寻求新的机遇。 黄说&#xff0c;加州理工学院因其毕业生受人尊敬而闻名&#xff0c;如…

【耐水好】强耐水UV胶水主要重视什么?

【耐水好】强耐水UV胶水主要重视什么&#xff1f; 应用性方面&#xff1a; 强耐水UV胶水主要重视以下几个方面&#xff1a; 耐水性&#xff1a;强耐水UV胶水经过精心调配和改良&#xff0c;以提供出色的耐水性能。这种胶水能够形成防水层&#xff0c;有效防止水分渗入并保护被…

ISCC2024 WriteUpReverse 迷失之门

Reverse 迷失之门 迷失之门 writeup解题思路 打开题目是一个压缩包解压后是一个.exe程序 按照做题顺序第一步查壳发现并没有壳将其拖入ida中进行查看 使用shiftF12进行字符串查看 发现flag字符了我们双击它 将光标移动到yes哪里右击空白地方打开交叉索引并按F5进行反汇编发现…

6月18日(周二)A股行总结:A股震荡收涨,车路云概念全日强势,10年、30年国债期货齐创新高

车路云概念股发力上涨&#xff0c;中海达、华铭智能等多股20CM涨停。半导体板块走强&#xff0c;中芯国际港股上涨近&#xff13;% 。白酒板块下跌&#xff0c;贵州茅台跌1.3% 。30年期及10年期国债期货主力合约均创上市以来新高。 周二&#xff0c;A股全日窄幅震荡 沪指收涨0…

IEEE 期刊、会议论文模板下载网站(TNNLS)

这是网址&#xff1a;IEEE-Template Selector. 1 现在TNNLS匿名 需要专用模板&#xff0c;如果不用会退回 2 选会刊&#xff08;trans&#xff09;&#xff0c;期刊&#xff08;journal&#xff09;&#xff0c;快报&#xff08;letters&#xff09;会议&#xff08;conferenc…

封装分发安装教程

【安装环境】 Linux伪静态 PHP7.1mysql5.6 SSL 证书 &#xff08;使用宝塔&#xff09; 1、在宝塔上面新建站点&#xff0c;把压缩包上传到根目录&#xff0c;解压出来&#xff0c;然后导入 sql 数据库文件&#xff0c;再 然后修改数据库配置 source\system\db_config.php 2、…

一图看懂华为云CodeArts API 7大特性,带你玩转一站式API

华为云CodeArts API是API全生命周期一体化协作平台 &#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。以API契约为锚点&#xff0c;CodeArts API保证了API各阶段数据高度一致&#xff0c;为开发者提供友好易用的API全流程端到…

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介&#xff1a; 本文旨在解决生物血细胞数目统计的挑战&#xff0c;提出了基于图像处理的综合方案。通过MATLAB平台&#xff0c;我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段&#xff0c;采用图像增强和阈值分割等方法&#xff0c;有效地提高了细胞图像的…

SQL学习,大厂面试真题(1):观看各个视频的平均完播率

各个视频的平均完播率 1、视频信息表 IDAuthorNameCategoryAgeStart Time1张三影视302024-01-01 7:00:002李四美食602024-01-01 7:00:003王麻子旅游902024-01-01 7:00:00 &#xff08;video_id-视频ID, AuthorName-创作者, tag-类别标签, duration-视频时长&#xff08;秒&…

六、在Qt下通过PCL在VTK9.3.0下显示自己的pcd点云文件

前几天刚整理好VTK8.2.0&#xff0c;发现我们的项目使用的PCL自带的VTK是9.3.0的&#xff0c;脸黑了快 VTK8.2.0可参考该篇博文&#xff1a;五、在Qt下加载QVTKWidget控件&#xff08;VTK8.2.0&#xff09;&#xff0c;生成Visual Studio项目&#xff0c;显示点云&#xff08;C…

玩转nRF52840-DK开发套件 (5) RTT打印调试日志

一、两种日志信息的输出方式 日志信息输出可以方便调试者观察程序运行状态&#xff0c;通常用串口 printf 来输出日志。nRF52840-DK也可以用仿真器 JLink 的 RTT Viewer 输出方式。 二、SDK_config.h配置 勾选相关项&#xff1a; 三、SDK_config.h配置 在主函数 main 中&#x…

Ubuntu,Centos,Linux服务器安装Mellanox MCX653105A IB网卡HCA卡驱动

Mellanox 官方驱动下载地址 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 选择对应操作系统 官方链接速度比较慢&#xff0c;推荐个友商的下载地址 https://support.xfusion.com/support/#/zh/rack-servers/2288h-v5-pid-21872244/software …

R语言数据分析案例31-运用差分整合移动平均自回归模型对世界主要国家(俄罗斯)的污染物排放量进行研究预测

一、研究背景与意义 空气污染导致的环境恶化已经成为世界各国许多国家和地区发展受限的重要原因。空气污染物是由气态物质、挥发性物质、半挥发性物质和颗粒物质的混合物造成的&#xff0c;其中典型 的空气污染物就是人们生活中经常使用到的高频词汇雾霾。本文主要对其中的污染…

AI发展面临的问题? —— AI对创造的重新定义

一、AI的问题描述 AI与数据安全问题&#xff1a;随着AI技术的发展和应用&#xff0c;数据安全问题日益突出。AI模型训练依赖于大量数据&#xff0c;而这些数据中可能包含个人隐私、商业秘密等敏感信息。如果数据在采集、存储、使用过程中处理不当&#xff0c;可能导致数据泄露或…

Vue3 状态管理 - Pinia,超详细讲解!

前言&#xff1a; 哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享【Vue3 状态管理 - Pinia】&#xff0c;超详细讲解&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大…