排序与算法--冒泡排序

1.原理

比较两个相邻的元素,将较大的值交换到右边

2.举例:2 8 7 5 9 4 3 

第一趟:

        第一次:比较第一个和第二个:2 8 ,不需要交换

        第二次:比较 8 7,将8和7进行交换:2 7 8  5 9 4 3

        第三次:比较 8 5,将8和5进行交换:2 7 5 8 9 4 3

        第四次:比较 8 9,不需要交换

        第五次:比较 9 4,将9和4进行交换:2 4 5 8 4 9 3

        第六次:比较 9 3,需要交换 2 7 5 8 4 3 9

第一趟结束后,最大的数字出现在最后一位

第二趟

        第一次:比较 2 7,不需要交换

        第二次:比较 7 5,需要交换:2 5 7 8 4 3 9

        第三次:比较 5 8,不需要交换

        第四次:比较 8 4 ,需要交换:2 5 7 4 8 3 9

        第五次:比较 8 3 ,需要交换:2 5 7 4 3 8 9

第二趟结束后,第二大的数字出现在倒数第二位

第三趟

        第一次:比较 2 5 ,不需要交换

        第二次:比较 5 7,不需要交换

        第三次:比较 7 4,需要交换:2 5 4 7 3 8 9

        第四次:比较 7 3,需要交换:2 5 4 3 7 8 9

以此类推:

第四趟:2 4 3 5 7 8 9 第五趟:2 3 4 5 7 8 9 直到排序完成

简化:第一趟跑完,最大的数字在最后一位,不用参与排序

第二趟,第二大的数字在倒数第二位,不用参与排序

每跑完一趟,就可以少跑一次。

3.题目

排序:【10,1,35,61,89,36,55】

4.代码

package 排序;public class 冒泡排序 {public static void main(String[] args) {//外层for循环控制趟,内层控制次int a[]= {10,1,35,61,89,36,55};//为什么趟的次数可以确定?//因为每一趟都可以确定一个数字的位置for(int i=0;i<a.length-1;i++) {for(int j=0;j<a.length-1-i;j++) {if(a[j]>a[j+1]) {//左边大于右边int k=a[j];a[j]=a[j+1];a[j+1]=k;}}}for(int i=0;i<a.length;i++) {System.out.print(a[i]+" ");}	}
}

5.结果截图

6.注意点

(1)双层循环:外层控制趟,内层控制次

(2)每跑完一趟,就可以少跑一次。j <a.length-1- i

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

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

相关文章

【Python】webp图片转jpg

webp这种图片格式&#xff0c;是谷歌公司专门针对谷歌浏览器发布的一种全新的图片格式。相对于传统的jpg和png格式&#xff0c;webp格式的优势非常明显&#xff0c;更小的体积和肉眼无法区别出来的压缩损耗。但是对于很多人来说&#xff0c;下载下来之后使用不太方便&#xff0…

HT1621B新版本字段式驱动显示芯片替代PC1621K

PC1621K是一个32*4的LCD驱动器&#xff0c;可软体程控使其适用于多样化的LCD应用线路&#xff0c;仅用到3至4条讯号线便可控制LCD驱动器&#xff0c;除此之外也可介由指令使其进入省电模式 特色&#xff1a; 工作电压&#xff1a;2.4-5.2V 内建256KHz RC oscillator可外接 …

keil生成bin文件(通用型)

有些时候需要在keil里面生成bin文件&#xff0c;但找到的各种方式五花八门&#xff0c;特别是要填写文件路径等没有通用性&#xff0c;搞个不同的工程就得改下&#xff0c;找到这个跟路径无关的代码&#xff0c;进行记录下。 首先还是点开keil的设置&#xff1a; 按照上面的图…

from pycocotools.coco import COCO报错

需要注意的是&#xff0c;自己的系统是windows还是linux的系统&#xff1a; windows系统的安装&#xff1a; pip install pycocotools-windows linux的系统安装&#xff1a; pip install pycocotools 别用错了命令哦&#xff01;

html创建电子邮件链接

refer: 可以在a标签里使用&#xff1a; <a href"mailto:nameemail.com">Email</a>

【数据结构】平衡树引入

数据结构-平衡树 前置知识 二叉树二叉树的中序遍历 问题 维护一个数据结构&#xff0c;支持插入元素、删除元素、查询元素的排名、查询排名对应的元素、查询元素的前驱、查询元素的后继等。 BST&#xff08;二叉搜索树&#xff09; 作为一个基本无效&#xff08;很容易卡掉…

【大模型】800万纯AI战士年末大集结,硬核干货与音乐美食12月28日准时开炫

文章目录 WAVE SUMMIT五载十届&#xff0c;AI开发者热血正当时酷炫前沿、星河共聚&#xff01;大模型技术生态发展正当时 回望2023年&#xff0c;大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态&#xff0c;大语言模型在突飞猛进中加速重构万物。随着理解、生…

解决Sortable拖动el-table表头时,由于选择列造成的拖拽顺序错乱的bug

原因 由于我的表头是由数组循环遍历生成的&#xff0c;而选择列不在数组内&#xff0c;只能在循环外定义el-table-column&#xff0c;造成拖动时索引错乱错误代码 <el-tableheader-dragend"headerDragend"id"out-table":data"state.sliceTable&quo…

[Linux] ps命令详解

ps命令 ps命令用于显示当前系统中的进程状态信息。以下是ps命令的一些常见参数及其作用&#xff1a; ps命令的基本形式&#xff1a; ps这将显示当前用户自己的运行中的进程的快照。 参数选项&#xff1a; -a: 显示所有进程&#xff0c;包括其他用户的进程。 -u: 显示与用户相…

Tomcat9运行 tomcat9w.exe 提示“指定服务未安装”

Tomcat9运行 tomcat9w.exe 提示“指定服务未安装” 问题描述解决方案 问题描述 Tomcat启动项目时&#xff0c;命令窗口显示内存不足&#xff0c;网上查到博客提到需要 运行 tomcat9w.exe 修改内存设置&#xff0c;运行 tomcat9w.exe 时提示如下。 解决方案 配置环境变量CAT…

第2章-第1节-Java变量相关规则及注意事项

1、什么是变量&#xff1a; 概念&#xff1a;内存中的一块存储区域/空间&#xff0c;有数据类型的限定/约束&#xff0c;可以存入匹配类型的单个数据&#xff0c;并且根据需要可以随时改变其数据内容&#xff1b; 特点&#xff1a;可以存储匹配类型的单个数据&#xff0c;不过…

prometheus+alertmanager监控告警消息推送自定义接口

在prometheus的告警方案中&#xff0c;alertmanager提供了邮件、Slack、webhook等多种通知方式的支持 本篇主要介绍如何通过webhook方式将告警消息发送到自己的告警媒介 首先&#xff0c;部署alertmanager应用&#xff0c;此处不再赘述 配置webhook_configs为我们搭建的web服…

【数据库事务介绍】

文章目录 一 事务的定义和特性二 应用场景三 事务的开始和提交3.1 开始事务3.2 提交事务 四 事务的回滚五 事务隔离级别 在数据库管理中&#xff0c;事务是一个非常重要的概念。它是一个单一的逻辑工作单元&#xff0c;可以由一系列SQL语句组成&#xff0c;要么全部执行成功&am…

python基础 — 特殊变量 __name__

if __name__ __main__: 是一个常见的 Python 代码块&#xff0c;通常作为程序的主入口。 这个代码块通常用于包含脚本的主要功能或逻辑&#xff0c;它会在脚本被直接执行时运行&#xff0c;但不会在脚本作为模块导入时运行。 其中&#xff0c;__name__ 是 Python 中的一个特…

038.Python面向对象_三大特性综合案例1

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

如何在 Git 中创建分支

1.打开命令行终端&#xff0c;执行以下命令来查看当前分支列表&#xff1a; git branch 显示当前仓库中的所有分支&#xff0c;以及当前所在的分支&#xff08;显示为带有星号 * 的分支&#xff09;。 2.创建一个新的分支&#xff0c;可以使用以下命令&#xff1a; git bran…

使用JSON-Server快速搭建RESTful API接口

​​​​​​​ 概要 随着前端技术的快速发展&#xff0c;前后端分离已经成为了一种趋势。在前后端分离的架构中&#xff0c;前端需要与后端进行数据的交互&#xff0c;这就需要后端提供RESTful API接口。而在开发过程中&#xff0c;我们常常需要模拟后端数据接口&#xf…

机器学习与低代码开发:创新驱动的双剑合璧

引言 随着科技的日新月异&#xff0c;机器学习和低代码开发已经成为引领技术行业变革的两大重要趋势。机器学习通过模拟人类的学习方式&#xff0c;让计算机具备了自我学习和预测的能力&#xff0c;打破了传统计算机程序的局限性。而低代码开发则以简化软件开发过程为目标&…

7-二分-索引二分-寻找旋转排序数组中的最小值 II

这是索引二分的第七篇算法&#xff0c;力扣链接 已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,4,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可…

乐小鱼大理之行

在一个晴朗的日子里&#xff0c;乐小鱼和她的家人一起踏上了一场梦幻般的大理之行。他们驱车穿越沧山&#xff0c;眼前豁然开朗&#xff0c;洱海在阳光下泛着碧绿的光芒。 乐小鱼好奇地探出头&#xff0c;看到了连绵的山脉和湛蓝的湖水。她兴奋地说&#xff1a;“哇&#xff0…