详解JAVA冒泡排序

Java冒泡排序(详解) Java冒泡排序(思绪详解) 阅读详情

冒泡排序可以说是常见的几种排序中相对简单的,冒泡排序时间复杂度为O(n²),具体关于时间复杂度的推理大家可以去看百度百科!!!

package com.algorithm;

import java.util.Arrays;

/**
 * 面试锦集:
 * 冒泡排序你写得好吗?
 *
 * @author 小辉GE/小辉哥
 * <p>
 * 2019年8月6日 下午12:30:00
 */
public class BubbleSort {

    public static void main(String[] args) {
        //定义数组,随机生成数据
        int[] arry = new int[10];
        for (int i = 0; i < 10; i++) {
            arry[i] = (int) (Math.random() * 100);
        }

        System.out.println("arry数组排序前为:" + Arrays.toString(arry));

        // 冒泡排序核心逻辑
        for (int i = 0; i < arry.length - 1; i++) {
            // 定义冒泡排序中已经没有交换产生
            boolean flag = true;
            for (int j = 0; j < arry.length - i - 1; j++) {
                if (arry[j] > arry[j + 1]) {
                    int temp = arry[j];
                    arry[j] = arry[j + 1];
                    arry[j + 1] = temp;
                    flag = false;
                }
            }
            if (flag) {
                System.out.println("当前冒泡排序已经结束了,外层循环的次数i为:" + i);
                break;
            } else {
                System.out.println("当前冒泡排序正在进行,外层循环的次数i为:" + i + ",本次冒泡结果为:" + Arrays.toString(arry));
            }
        }

        System.out.println("arry数组排序后为:" + Arrays.toString(arry));
    }

}

具体冒泡排序步骤详解,大家可以参考下图动态展示效果(数据可能不一致,这里只是展示冒泡排序原理):

测试输出结果如下:

以上代码仅供参考,如有不当之处,欢迎指出!!!

更多干货,欢迎大家关注和联系我。期待和大家一起更好的交流、探讨技术!!!

 

冒泡排序详解(Java实现) 一、冒泡排序基本思想     冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。    二、算法描述     1.比较相邻的元素。如果第一个比第二个大,就交换它们两个;     2.对每一... 阅读详情

相关推荐

Java实现冒泡排序算法详解

冒泡排序的核心在于通过相邻元素的比较与交换,逐步将较大的元素“浮”到数组的末尾。在 Java 中,我们可以将这一逻辑封装为一个独立的方法,供主程序调用。为了更好地进行调试和测试,我们往往需要对输出格式进行定制,甚至将排序过程记录到日志文件中。冒泡排序的时间复杂度为 O(n²),在实际工程中通常不是首选。然而,它的教学意义和对排序逻辑的直观表达,使其成为算法学习的起点。在理解其性能瓶颈后,开发者应根据实际需求选择更高效的排序算法,如快速排序、归并排序或非比较排序(如计数排序、桶排序)。

weixin_42452924的博客 959

你真的会写冒泡排序吗

你真的会写冒泡排序吗

lei_1000的专栏 506

电池保护板为什么采用NTC热敏电阻而不是PTC热敏电阻?

R25=10K,即环境温度25°时,阻值是10K),温度变化1°C,阻值相应地明显变化,温度响应很灵敏,也就能精准地反向换算出阻值对应的温度。另外,还有功率型NTC热敏电阻,其主要用在开关电源设计中,串联在市电输入上,抑制浪涌电流。电池保护板上的NTC热敏电阻(NTC一端接地,另一端接电池充电控制IC管脚),在电池温度上升时,NTC热敏电阻温度也会随之上升,从而NTC电阻值会下降,因此电池充电控制IC用ADC检测的电压值就降低,当检测到的电压值达到下限阈值时,电池充电控制IC就会停止对电池的充电或放电。

电子绿洲的博客 5626

JS-算法:冒泡排序

算法基本思想: 1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。 3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。 4、持续每次对越来越少的元...

chushu4289的博客 1069

用Simulink对Carsim车辆进行档位控制

用Simulink对Carsim车辆进行档位控制一、carsim中的档位设置为开环控制二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear三、双击进去设置常量为 0四、输入和输出IO通道五、验证 :输入 为 3 档 ----- 输出 为 3!六、参考 一、carsim中的档位设置为开环控制 二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear 三、双击进去设置常量为 0 四、输入和输出IO通道 五、验证 :输入 为 3 档 -

qq_42027654的博客 2601

手把手教你用STM32F103的GPIO模拟MIPI RFFE协议(附完整代码与逻辑分析仪调试技巧)

本文详细解析了如何使用STM32F103的GPIO模拟MIPI RFFE协议,包括协议核心、硬件准备、时序模拟、寄存器操作及逻辑分析仪调试技巧。通过实战代码和波形分析,帮助工程师解决电平转换、奇校验处理等常见问题,提升通信稳定性与效率。

weixin_30292745的博客 284

排序--[冒泡,Arrays.sort]

冒泡: public class Test01 { public static void main(String[] args){ int [] a={12,25,3,54,24,69}; for (int i = 1; i < a.length; i++) { //若i从0开始,则i<a.length-1;i从1开始,则i<a.length

xiaobaixiaye的博客 237

Ubutntu下使用realsense d435i(二):获取某二维像素点的三维坐标

00 准备工作 准备工作包括安装驱动以及pyrealsense2,具体可参考上一篇: Ubutntu下使用realsense d435i(一):准备工作以及安装pyrealsense2 https://blog.youkuaiyun.com/gyxx1998/article/details/121461293 01 通过二维像素点获得物体三维坐标 这个在上一篇已经介绍了代码: realsense d435i获取某像素点三维坐标(计算深度和点云两种方法) https://blog.youkuaiyun.com/gyxx1998/

gyxx1998的博客 9943

Java冒泡排序详解

Java冒泡排序 排序算法概述 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。 稳定性:一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 如果算法是稳定的有什么好处呢?排序...

BigMoreKT的博客 251

OAI数据集申请与实战:从权限获取到医学影像分析应用

本文详细介绍了OAI数据集的申请流程与医学影像分析实战应用。从NDA账户注册、数据下载技巧到骨盆X光关键点检测的完整实现,帮助医学研究者高效利用这一权威骨关节炎数据集。特别分享使用Pei Y标注数据训练U-Net模型的经验,包括预处理、注意力机制优化等实用技巧。

weixin_30275415的博客 478

汇川EASY系列之以太网通讯(套接字socket做主站)

本文讲解汇川Easy系列使用以太网套接字socket通讯,本例中EasyPLC做主站。文中按步进行操作。细节明确。

这是一个长期关注工控行业技术的博客,实现0-1的突破,期待您的关注和留言 2190

Java实现冒泡排序(详解)

深度解析冒泡排序算法 public class MySort{ public static void bubbleSort(int array[]){ for (int i = 0; i < array.length; i++) { for (int j = 0; j < array.length - 1 - i; j++) { if(array[j]>array[j+1]){

ChenSeventeen的博客 2万+

【100分- 求最多可以派出多少支团队】(题目+思路+Java&C++&Python解析+在线测试)

用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或者2人组成,且1个人只能参加1个团队,计算出最多可以派出多少只符合要求的团队。

m0_73659489的博客 313

Java语言冒泡排序详解

基于很多同学在面试的过程中被问到一些基础的算法,导致整个面试过程不理想,而基础的算法和数据结构往往都是一些大公司任职的基本要求,这也严重影响拿offer的成功率。接下来的一段时间我将陆续对一些简单的基础的算法和数据结构进行详细说明。我将从排序算法说起,下面从冒泡排序开始说起。排序结果:数据从小到大。首先说一下冒泡排序的思想:每次比较从第一个数据开始,数据两两比较,如果左边数据比右边数据大,则交换左右

xzw_itcast的博客 1万+

Autosar MCAL-S32K324 Fee配置-基于EB

Autosar MCAL S32K324 Fee配置详解

赞的博客 1544

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 冒泡排序详解_Java冒泡排序入门详解

冒泡排序(Bubble Sort)是计算机编程开发技术中一种较为简单的排序方法。为了更好地理解其算法原理,我们先来看这样一个例子:在操场上从左到右一字排开地站着A(181)、B(169)、C(187)、D(172)、E(163) 5名运动员(括号内为该运动员的身高cm数)。现在教练希望让他们从左到右、从低到高依次排列。头脑稍微「转」得快的读者,可能一眼就看出来了该如何排列。显然,我们这里仅仅列举了...

weixin_39890517的博客 366

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java冒泡排序详解

冒泡排序详解

爱学习的小蜗牛的博客 7114

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java 冒泡排序详解_「图文+动画」超级详细详解冒泡排序

一、冒泡排序的思想思想:从前到后(即从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换位置,使值较大的元素逐渐从前移向后部。eg:待排序的数:7,3,22,15,8根据冒泡排序的思想:首先我们应该比较7和3是否是逆序的:若逆序则交换这2个数的位置,因为7>3,它们的位置是逆序的故交换位置交换后:7,3, 22,15,8 3,7,22,15,8比较7和22是否是逆序的:若逆序...

weixin_28885791的博客 1135

java 冒泡排序详解_java冒泡排序算法详解

/*** 冒泡排序:执行完一次内for循环后,最小的一个数放到了数组的最前面。相邻位置之间交换** 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。* 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡* ,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上* "漂浮",如此反复进行,直...

weixin_32476639的博客 378

java 冒泡排序_Java冒泡排序详解

Java冒泡排序排序算法概述所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。稳定性:一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。如果算法是稳定的有什么好处呢?排序算法如果...

weixin_39908948的博客 101

Java冒泡排序算法详解

综上所述,冒泡排序是一种简单易懂的排序算法,通过相邻元素之间的比较和交换来实现排序。虽然它效率上不如其他排序算法,但在某些特定场景下仍然有其应用价值。

weixin_69077250的博客 3391
上一篇: 网络爬虫小区均价数据之Groovy
下一篇: JAVA二分查找/折半查找
饶艳辉
博客等级 码龄15年 20粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值