Java实现冒泡排序详细代码

Java实现冒泡排序详细代码冒泡排序定义冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最

大家好,又见面了,我是你们的朋友全栈君。

冒泡排序定义

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。

算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

Java实现冒泡排序详细代码

具体Java代码实现

/**
 *
 *@author g0rez
 *@data 2021-05-16
 *
 */
public class 冒泡排序 {
    public static void main(String[] args) {
        int[] arr =new int[]{2,4,3,5,6,1,7,8,10,9};
        arr=bubbleSort(arr);
        for(int i = 0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }
    public static int[] bubbleSort(int[] arr){
        if(arr.length==0) return arr;
        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr.length-i-1;j++){
                if(arr[j]>arr[j+1]){
                    int t=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=t;
                }
            }
        }
        return arr;
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152146.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中,为什么byte类型的取值范围为-128~127?

    Java中,为什么byte类型的取值范围为-128~127?在学习Java基础语法的时候,初学者的我们可能都会有这么一个疑问为什么byte类型的取值范围为什么是[-128,127]而不是[-127,127]。01111111表示最大的数值:127,因为第一位是符号位,所以11111111应该是最小的数值:-127,不是这样才对?在解释这个问题之前我们需要了解几个概念:机器数、真值、原码、反码、补码机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器

    2022年6月15日
    26
  • 上帝掷骰子吗–量子物理史话

    上帝掷骰子吗–量子物理史话  上帝掷骰子吗–量子物理史话    第一章黄金时代    一    我们的故事要从1887年的德国开始。位于莱茵河边的卡尔斯鲁厄是一座风景秀丽的城市,在它的城中心,矗立着著名的18世纪的宫殿。郁郁葱葱的森林和温暖的气候也使得这座小城成为了欧洲的一个旅游名胜。然而这些怡人的景色似乎没有分散海因里希?鲁道夫?赫兹(HeinrichRudolfHertz)的注意力:现在他正

    2022年6月7日
    36
  • A_A010_01 常用串口调试助手安装使用

    A_A010_01 常用串口调试助手安装使用A010常用串口调试助手安装使用一、 软件下载二、 SSCOM安装使用三、 STC-ISP串口助手使用四、 安信可调试助手安装使用五、 注意事项一、 软件下载SSCOM串口助手网盘链接提取码:nztnSTC-ISP网盘链接提取码:zrsq安信可串口助手网盘链接提取码:r935二、 SSCOM安装使用1、免安装,直接用,生成快捷方式到左面即可2、使用配置三、 STC-ISP串口助手使用配置方式都类似四、 安信可调试助手安装使用1、免安装,直接用,生成快捷方式到桌面即

    2022年5月29日
    71
  • from django.db import models_独立团模块源码

    from django.db import models_独立团模块源码前言APIView中的dispatch是整个请求生命过程的核心方法,包含了请求模块,权限验证,异常模块和响应模块,我们先来介绍请求模块请求模块:request对象源码入口APIView类中di

    2022年7月31日
    6
  • Maven安装教程_vmware安装教程

    Maven安装教程_vmware安装教程一、安装apache官网下载需要的版本,然后解压缩,解压路径尽量不要有空格和中文Maven–DownloadApacheMavenhttps://maven.apache.org/download.cgi二、配置环境变量新建系统变量变量名:MAVEN_HOME值:你解压的路径eg:D:\xxx\apache-maven-3.8.4编辑系统变量Path打开->新建->路径为:解压缩文件的路径到bin目录eg:D:\xxx\apac

    2022年8月22日
    8
  • 数据库的存储过程_数据库的存储过程语句

    数据库的存储过程_数据库的存储过程语句一、存储过程与函数的区别:1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。3.存储过程一

    2022年8月5日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号