排序与算法--冒泡排序

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,一经查实,立即删除!

相关文章

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; 按照上面的图…

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;大语言模型在突飞猛进中加速重构万物。随着理解、生…

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

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

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

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

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;打破了传统计算机程序的局限性。而低代码开发则以简化软件开发过程为目标&…

乐小鱼大理之行

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

1688订单详情接口使用指南:含代码实现获取订单信息

一、引言 随着电子商务的飞速发展&#xff0c;越来越多的企业开始通过1688平台进行采购和销售。为了更好地管理订单&#xff0c;提高客户满意度&#xff0c;许多企业选择使用1688订单详情接口来获取订单信息。本文将详细介绍如何使用1688订单详情接口&#xff0c;并提供示例代…

c++ multimap

multimap创建 multimap<string , string> m; m.insert(make_pair("12","3234")); m.insert(make_pair("12","3234")); m.insert(make_pair("12","3234"));遍历 multimap<string , string> m; m.inser…

.NET core 搭建一个跨平台的 Web Service

以前搭建的webservice 都是基于.NET fromwork的&#xff0c;我们知道.NET fromwork是非跨平台的&#xff0c;只能部署在iis上&#xff0c;今天教大家用.NET core搭建一个可跨平台的Web Service 新建一个.net core空项目 给项目起一个名字 选一个.net框架&#xff0c;我这里选…

iOS 定位问题解决方法整理

文章目录 一、Assertion failure in -[CLLocationManager setAllowsBackgroundLocationUpdates:] 一、Assertion failure in -[CLLocationManager setAllowsBackgroundLocationUpdates:] 后台定位权限没有开启 错误描述&#xff1a; 错误原因&#xff1a; 定位管理中设置了后…

vue编辑页面提示 this file does not belong to the project

背景 打开vue项目工程 文件夹被锁定&#xff08;有黄色背景&#xff09;&#xff0c;编辑页面时&#xff0c;报错。 报错提示&#xff1a; vue编辑页面提示 this file does not belong to the project 原因 一不下心打开了错误的文件包 解决方案 1、删除.idea文件夹 2、…

2023 年山东省职业院校技能大赛(高等职业教育) “信息安全管理与评估”样题

2023 年山东省职业院校技能大赛&#xff08;高等职业教育&#xff09; “信息安全管理与评估”样题 目录 任务 1 网络平台搭建&#xff08;50 分&#xff09; 任务 2 网络安全设备配置与防护&#xff08;250 分&#xff09; 模块二 网络安全事件响应、数字取证调查、应用程序安…

李飞飞携斯坦福联袂谷歌推出比肩Pika的视频生成模型W.A.L.T

英国数据保护监管机构敦促公司在使用人工智能&#xff08;AI&#xff09;时认真考虑人们的隐私权&#xff0c;否则不仅可能面临罚款&#xff0c;还可能失去公众对该技术的信任。信息专员约翰爱德华兹在周三的一次演讲中表示&#xff0c;公司在使用AI时必须在所有情况下保护客户…

高效代码静态分析神器:Understand for Mac

Understand是一款针对程序员设计的代码静态分析软件&#xff0c;不仅可以有效率的查看、审查代码&#xff0c;而且还能够用于维护&#xff0c;测量和分析关键或大型代码库。 Understand Mac版 源代码审查工具特色亮点 1、支持多语言&#xff1a;Ada, C, C, C#, Java, FORTRAN…