首页 > 编程语言 >java通过冒泡排序对数组进行排序

java通过冒泡排序对数组进行排序

时间:2024-05-31 23:33:29浏览次数:15  
标签:arr java temp int 冒泡排序 排序 比较 赋值

冒泡排序是从列表第一个元素开始,比较相邻两个元素大小,小的排在前面,大的排后面,循环反复,小的数据会像气泡那样上浮。

package project;

public class Maopaopaixu {

	public static void main(String[] args) {
		//冒泡排序
		int[] arr= {9,8,3,5,2};
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]+" ");
		}
		System.out.println();
		System.out.println("开始冒泡排序");
		for(int i=1;i<arr.length;i++)
		{
			for(int j=0;j<arr.length-i;j++)
			{
				if(arr[j]>arr[j+1])
				{
					int temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]+" ");
		}

	}

}

上面的代码就是冒泡排序

它是由两层循环嵌套而成,第一层是决定比较次数,第二层是进行比较

比如说i=1,j=0

先比较arr[0]与arr[0+1]之间的大小,如果arr[0]大于arr[1],arr[0]的数据被赋值给变量temp,arr[1]的数据赋值给arr[0],变量temp的值赋值给arr[0]

就这样循环比较,完成第一轮比较,然后通过外循环进行第二轮比较

标签:arr,java,temp,int,冒泡排序,排序,比较,赋值
From: https://blog.csdn.net/2301_81968528/article/details/139363219

相关文章

  • Java循环结构while
    1.while是最基本的循环,它的结构为        while(布尔表达式){            //循环内容                }2.只要布尔表达式为true,循环就会一直执行下去3.我们大多数情况是会让循环停止下来的,我们需要一个让表达式时......
  • Java If选择结构
    1.if单选择结构    if(布尔表达式){        //如果布尔值表达式为true将执行的语句    }2.if双选择结构    if(布尔表达式){        //如果布尔表达式的值为true        }else{        ......
  • Java流程控制
    Java流程控制用户交互Scanner之前我们学的基础语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanners=newScanner(System.in)......
  • RxJava和LiveData两者优缺点的详细分析
    RxJava和LiveData两者优缺点的详细分析RxJava和LiveData都是用于处理异步数据流的工具,但它们各自有不同的特点和适用场景。下面是对两者优缺点的详细分析以及如何选择和使用的建议:RxJava优点:功能强大:RxJava提供了丰富的操作符,能够轻松实现复杂的数据流操作。灵活性高:可以用......
  • Java练习(综合运用继承性、多态性、接口)
    在这个练习中,我们定义了一个接口`Animal`,其中包含一个方法`sound()`。之后,我们创建了一个基类`Mammal`,实现了`Animal`接口,并提供了一个默认的`sound()`方法实现。接着,我们定义了两个继承自`Mammal`的子类`Dog`和`Cat`,分别重写了`sound()`方法。在`main`方法中,我们创建了一个......
  • java期末练习题,设计一个学生类,包括公开的学号、私有的成绩及其题目所要求的条件进行打
    (1)Student类中包含公开的学号、私有的成绩两个属性;(2)分别给这两个属性分别定义设置值与获取值的方法;1)在学号设置方法中,如果学号长度大于12位,提示用户并截取前12位。2)在分数设置方法中,如果分数不在0-100范围内,提示用户并默认60分。(3)Student类中定义一个无参的......
  • 【自定义线程池】超详细!一文轻松理解JDK线程池 - java
    【自定义线程池】超详细!一文轻松理解JDK线程池-java通过手敲一遍自定义线程池代码,轻松理解jdk中线程池的原理,可以放心告诉面试官研究过jdk线程池源码!本文参考b站黑马程序员满一航老师的JUC课程p200-208https://www.bilibili.com/video/BV16J411h7Rd?p=207&vd_sour......
  • Java中常用的几个时间类
    一、Date类    Date类,代表日期,注意:这里的类是java.util.Date的日期类,不要导错包了(Alt+Enter自动导包)//创建当前时间Datenow=newDate();System.out.println("now="+now);//以指定毫秒值创建时间Datethat=newDate(1);System.out.println("that=......
  • java期末练习题,设计教师类,完成教授,副教授,讲师三个类的定义,在完成相应的测试。
        教授的基本工资为5000元,每学时补贴70元;     副教授的基本工资为3500元,每学时补贴60元;     讲师的基本工资2600元,每学时补贴55元。     已知每个教师的学时数,计算每个教师的每月工资数。输入1对应教授。输入2对应副教......
  • 【备战蓝桥杯】蓝桥杯省一笔记:算法模板笔记(Java)
    蓝桥杯0、快读快写模板1、回文判定2、前缀和3、差分4、二分查找5、快速幂6、判断素数7、gcd&lcm8、进制转换9、位运算10、字符串常用API11、n的所有质因子12、n的质因子个数13、n的约数个数14、n阶乘的约数个数15、n的约数和16、阶乘&双阶乘17、自定义升序降序18、动态......