首页 > 编程语言 >Java实现简单的冒泡排序

Java实现简单的冒泡排序

时间:2024-07-04 16:59:36浏览次数:23  
标签:Java 数字 temp int 冒泡排序 互换 简单 array 排序

Java实现简单的冒泡排序

核心思想:把相邻的两个数字两两比较,当一个数字大于右侧相邻的数字时,交换他们的位置,当一个数字和他右侧的数字小于或等于的时候,不交换。(小到大排序)

例如有数组{3,1,5,7,4,2}
  1. 第一次排序

    • {3,1,5,7,4,2}//开始

    • {1,3,5,7,4,2}//1和3互换

    • {1,3,5,7,4,2}//3和5不变

    • {1,3,5,7,4,2}//5和7不变

    • {1,3,5,4,7,2}//7和4互换

    • {1,3,5,4,2,7}//7和2互换

    • {1,3,5,4,2,7}//最终 最大值7固定

  2. 第二次排序

    • {1,3,5,4,2}//注意,因第一次排序已经确定好最大值所以第二次只需要比较前五个
    • ······
  3. 第五次排序

    • {1,2,3,4,5,7}//如果有n个元素,我们只需要排序n-1次即可完成排序,此数组只需5次即可。
public static int[] sort(int[] array) {
        int temp;
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-i-1; j++) {
            if (array[j]>array[j+1]){
                temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
            }
        }
        return array;
    }
public static void main(String[] args) {
        int[] array = {3,1,5,7,4,2};
        int[] a = sort(array);
        System.out.println(Arrays.toString(a));
    }

在这里插入图片描述

标签:Java,数字,temp,int,冒泡排序,互换,简单,array,排序
From: https://blog.csdn.net/m0_73834020/article/details/140184013

相关文章

  • 深入探索Java IO与NIO:差异与高性能网络编程的应用
    深入探索JavaIO与NIO:差异与高性能网络编程的应用一、引言在Java中,I/O(Input/Output)操作是应用程序与外部世界交互的基本方式。Java标准库提供了多种I/O模型,其中最常用的有传统的I/O(即阻塞I/O)和新引入的NIO(Non-blockingI/O,非阻塞I/O)。随着网络应用的日益复杂和性能要求的......
  • 基于Java+Vue的采购管理系统:采购过程合规高效(整套代码)
         前言:采购管理系统是一个综合性的管理平台,旨在提高采购过程的效率、透明度,并优化供应商管理。以下是对各个模块的详细解释:一、供应商准入供应商注册:供应商通过在线平台进行注册,填写基本信息和资质文件。资质审核:系统对供应商提交的资质文件进行自动或人工审核,确......
  • Java私有仓库Nexus搭建(喂奶式教程)
     1.为什么需要搭建私有仓库?1.有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。而且自己......
  • Java流程控制
    一、顺序结构顺序结构是最简单的算法结构,它是任何一个算法都离不开的一种基本算法结构。二、选择结构if单选择结构(if)packagestruct;​importjava.util.Scanner;​publicclassDemo01{  publicstaticvoidmain(String[]args){    Scannerscann......
  • java使用Netty实现TCP收发消息的例子,多线程并且含断线自动重连
    需求:有一个TCP的服务,需要使用Netty开发一个TCP连接并收发消息的程序。要求多线程并且含断线自动重连能力。组织结构,使用JavaMaven编程方式功能还包含读取配置文件和log4j2写日志部分 完整代码:App.javapackagecom.LSpbxServer;importorg.slf4j.Logger;import......
  • java 事件回调的写法,使用回调接口方式
    java编写时,尤其是先用C#语言后转成java的,在编程时一定会遇到,java中没有委托事件的概念。那主类App.java类中实例了一个A对象,那A对象因为某种原因触发了一个事件,想回调App.java中的一个函数,应该怎么写呢?在java中有多有方法来实现,这里讲下回调接口方式,我感觉这种方式比较好理解......
  • java第三十课 —— 面向对象练习题
    面向对象编程练习题第一题定义一个Person类{name,age,job},初始化Person对象数组,有3个person对象,并按照age从大到小进行排序,提示,使用冒泡排序。packagecom.hspedu.homework;importjava.util.SortedMap;publicclassHomework01{publicstaticvo......
  • 2024最新Java笔试题及答案,java高分面试指南
    一、mybatis:1、当实体类中的属性名和表中的字段名不一样,怎么办1、使用as关键字起别名​<sqlid="Base_Column_List"><!--数据库种表的字段as实体类属性-->uidasid,userNameasname,ageasage,emailasemail,create_timeascreateTime,update_timeas......
  • 基于java+springboot+vue实现的校园外卖服务系统(文末源码+Lw)292
    摘   要传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,外卖信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的校园外卖服务系统。本......
  • JavaWeb—JDBC篇
    概述jdbc是javaWeb的技术框架定义JDBC(JavaDatabaseConnectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。作用......