用JAVA详解冒泡排序

news2024/10/6 1:42:42

1.代码段实现:(混的只需要把第一个拿走即可)

public static void main(String[]args){
	 int []arr = new int [] {99,68,97,86,65,94,33,72};
	 System.out.println("排序前的数组为:");
	 for (int i = 0;i < arr.length;++i)
	 {
		 System.out.print(arr[i]+ " ");
	 }
	 System.out.println();
	 for(int i = 0; i < arr.length - 1; ++i)
	 {
		 for (int j = 0;j < arr.length - 1 - i;++j)
		 {
			 if(arr[j]> arr[j + 1])
			 {
				 int temp;
				 temp = arr[j+1];
				 arr[j+1] = arr[j];
				 arr[j] = temp;
			 }
		 }
	 }
	 System.out.println("排序后的数组为:");
	 for (int i = 0; i < arr.length;i++)
	 {
		 System.out.print(arr[i]+ " ");
	 }
  }

2.代码的结果:

 

3.代码的解释:(恭喜你,勤奋的人!)

首先冒泡循环只需要弄懂三个问题:

(1).外层循环控制什么?

           由于在排序到最后时,最后的那一个数据无需排序,由于前面的排序将后面的数据已经按照相应的顺序完成排序:所以要使  arr . length - 1,由于本案例输入8个数据元素,而排序只需要排7次即可 所以从 int i = 0;开始到  i < arr . length - 1 共7次(不信的可以算算:0,1,2,3,4,5,6)

答:控制着要排序的次数

(2).内层循环控制着什么?

            由于冒泡排序的思路是: 比较两个数的大小,将两个中的大的数向后移,然后依次再和下一个数进行比较,较大的数在向后移,而每次都需要将j 从0开始依次的比较一直到  arr . length - 1又由于经过  i 次的排序,后面的数据已经排序完成 则后面的数据无需继续在排序,即为:

          arr . length - 1 - i 

答:控制着每次都是从  int  j = 0的下标开始依次的向后比较排序

(3).交换干什么?

         答:它控制着你想从大到小排序   还是想从小到大的排序

                                    

 

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

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

相关文章

Java入门

文章目录数组一维数组多维数组Arrays工具类数组中常见异常String、StringBuilder、StringBufferString类String的特性String对象的创建String常用方法StringBuilder类StringBuffer类StringBuffer对象的创建StringBuffer类的常用方法String、StringBuffer、StringBuilder区别日期…

Go:日志滚动(rolling)记录器 lumberjack 简介

文章目录简介简单使用1. Logger 结构体2. backup日志文件的文件名3. 获取文件句柄4. 日志文件backup5. 日志滚动后处理6. 收集旧日志文件7. 后处理小结简介 lumberjack是一个日志滚动记录器。写入lumberjack的日志达到一定的条件后会进行存档&#xff08;普通文件的形式&#…

TAT (AYGRKKRRQRRR)

TAT (AYGRKKRRQRRR) 是一种细胞穿膜肽, 能够将各种性质的药物高效率地传递进入细胞&#xff0c;该传递过程不需要配体-受体特异性结合, 且无饱和现象。但 TAT 缺乏细胞选择性, 能够穿透所有细胞膜, 这一缺点极大地限制了其在全身给药的肿瘤靶向系统中的应用。 编号: 402555中文…

电脑麦克风没声音怎么办?3个方法快速解决

当你跟朋友电脑语音聊天的时候&#xff0c;一连说了好几段话&#xff0c;结果朋友发消息告诉你&#xff0c;问你怎么一直不吭声&#xff0c;你这才发现&#xff0c;原来是你自己电脑麦克风没声音。电脑麦克风没声音怎么办&#xff1f;电脑麦克风说话别人听不到怎么回事&#xf…

机器学习笔记之核方法(一)核方法思想与核函数介绍

机器学习笔记之核方法——核方法思想与核函数介绍引言回顾&#xff1a;支持向量机的对偶问题核方法思想介绍线性可分与线性不可分非线性带来高维转换对偶表示带来内积核函数核函数的定义(2022/11/23)正定核函数引言 本节将介绍核方法以及核函数。 回顾&#xff1a;支持向量机…

[附源码]java毕业设计学生宿舍管理系统设计

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]java毕业设计新生入学计算机配号系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

代码随想录63——额外题目【链表】:234回文链表、143重排链表、141环形链表

文章目录1.234回文链表1.1.题目1.2.解答1.2.1.数组模拟方法1.2.2.反转后半部分链表法2.143重排链表2.1.题目2.2.解答3.141环形链表3.1.题目3.2.解答1.234回文链表 参考&#xff1a;代码随想录&#xff0c;234回文链表&#xff1b;力扣题目链接 1.1.题目 1.2.解答 1.2.1.数组…

Qt-FFmpeg开发-视频播放(5)

Qt-FFmpeg开发-视频播放【软/硬解码 OpenGL显示YUV/NV12】 文章目录Qt-FFmpeg开发-视频播放【软/硬解码 OpenGL显示YUV/NV12】1、概述2、实现效果3、FFmpeg硬解码流程4、优化av_hwframe_transfer_data()性能低问题5、主要代码5.1 解码代码5.2 OpenGL显示RGB图像代码6、完整源…

Java面试题——进程和线程的关系

并发编程 很早以前的计算机上只能执行一个程序&#xff0c;在该程序执行时&#xff0c;下一个执行流只能等待该程序执行结束&#xff0c;我们认为这种依次执行的方式十分浪费资源且效率低下&#xff08;因为一个程序执行只会消耗计算机的部分资源&#xff0c;其他资源同一时刻…

对 Masa.Blazor.Maui.Plugin.GeTuiPushBinding 项目的引用

新建一个 MAUI Blazor 项目&#xff1a;Masa.Blazor.Maui.Plugin.GeTuiSample, 添加对 Masa.Blazor.Maui.Plugin.GeTuiPushBinding 项目的引用 1、初始化个推 SDK 个推 SDK 的初始化在 MainActivity.OnCreate () 或 MainApplication.OnCreate () 方法中都是可以的&#xff0c…

使用Docker+Jenkins+Gitee自动化部署SpringBoot项目

目录搭建基础环境1、使用Docker-Compose搭建基础环境2、搭建项目仓库环境&#xff0c;创建Dockerfile文件3、配置Jenkins3.1、初始化Jenkins3.2、安装核心插件3.3、全局工具配置3.3.1、配置Git。3.3.2、配置Maven3.3.3、配置JDK3.4、配置Git凭证3.5、构建项目3.5.1、配置源码管…

Docker教程(centos下安装及docker hello world)

Docker介绍 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何…

STC51单片机38——按键控制舵机连续运动,稳定不抖动

仿真&#xff1a; //开发板按钮K3和K4&#xff0c;舵机信号线P27 //程序为12m晶振&#xff0c;开发板为11.0592M #include"reg52.h" #define u8 unsigned char #define u16 unsigned int sbit P27P2^7;//舵机信号线 sbit K3P3^2; //正偏转 sbit K4P3^3; //反偏…

我的大二web课程设计 使用HTML做一个简单漂亮的页面(纯html代码)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Flutter中GetX系列四--BottomSheet(底部弹框)

BottomSheet介绍 BottomSheet 是底部弹出的一个组件&#xff0c;常用于单选、验证码二次校验弹窗等&#xff0c;GetX的BottomSheet底部弹出是自定义通过路由push的方法实现底部弹窗的一个效果。 BottomSheet使用 我们可以通过GetX很轻松的调用bottomSheet()&#xff0c;而且…

HTML+CSS大作业:使用html设计一个简单好看的公司官网首页 浮动布局

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

web前端期末大作业:网站设计与实现——咖啡网站HTML+CSS+JavaScript

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

PMBOK史上最大的改版,你知道到底有什么精华嘛?

1、项目管理经典的5大过程组、10大知识领域和49个过程&#xff08;第六版&#xff09;的结构彻底被改变&#xff0c;取而代之的是项目管理12大原则和8大绩效域组成的全新结构&#xff1b; 2、项目管理标准顺应趋势&#xff0c;从基于过程&#xff08;Process-based&#xff09…

AI+保险,打造让投保人“叫绝”的服务方式

近年来,信息技术在保险领域的应用越来越广泛&#xff0c;在稳步推进保险业务的线上化与智能化的同时&#xff0c;也让保险服务覆盖率有了极大的提升。然而,保险业服务在智能化转型方面仍面临着诸多挑战。 咨询热线统一接入&#xff0c;客户来电不遗漏 保险企业客户不仅体量大…