java之—冒泡排序

java之—冒泡排序首先,什么是冒泡排序(BubbleSort)呢?     对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过第一轮比较排序后可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。    假如有N个元素,那么一共要进行N-1轮比较,第M轮要进行N-M次比较。(若6个元素,要进行6-1轮比较,第一轮比较6-1次,第四轮比较6-4次)  pa…

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

首先,什么是冒泡排序(BubbleSort)呢?

     对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过第一轮比较排序后可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。

    假如有N个元素,那么一共要进行N-1轮比较,第M轮要进行N-M次比较。(若6个元素,要进行6-1轮比较,第一轮比较6-1次,第四轮比较6-4次)

java之---冒泡排序

 

 
package test;

// 数组的排序操作
public class ArraySortDemo {
	public static void main(String[] args) {
		int[] arr = {1,5,3,9,2,6};
		print(arr);//排序之前
		bubbleSort(arr);//排序
		print(arr);//排序之后
	}
	//冒泡排序法
	static void bubbleSort(int[] arr){
		// 为什么是arr.length - times?  假如有6个元素,第times轮需要比较6-times次 ,
		//times轮比较
		for (int times = 1;times <= arr.length - 1; times++ ){
			
			for (int i = 1;i <= arr.length - times ;i++ ){
				if (arr[i-1] > arr[i]){
					swap(arr,i-1,i);
				}
			}
		}
	}
	//交换数组中的两个元素
	public static void swap(int[] arr,int index1,int index2){
		int temp =arr[index1];
		arr[index1] = arr[index2];
		arr[index2] = temp;
	}
	//打印元素的方法
	public static void print(int[] arr){	
		System.out.print("[");
		for (int index = 0;index <= arr.length-1 ;index ++ ){
			System.out.print(arr[index]);
			if (index != arr.length-1){
				System.out.print(", ");
			}
		}
		System.out.print("]");
		System.out.println();
	}
}

结果展示:java之---冒泡排序

 

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

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

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


相关推荐

  • 非平稳信号的频谱分析方法—(短时傅立叶变换)

    非平稳信号的频谱分析方法—(短时傅立叶变换)非平稳信号又称时变信号。对这一类信号,其一阶、二阶统计量和功率谱的估计显然不能简单的使用平稳信号的估计方法,必须考虑它们的时变因素。

    2025年6月10日
    0
  • 5种很牛的两位数乘法速算方法「建议收藏」

    5种很牛的两位数乘法速算方法「建议收藏」5种很牛的两位数乘法速算方法第一种:十几乘以任意两位数公式推导(10+b)(10c+d)=100c+10(bc+d)+bd=10(10c+bc+d)+bd=10((10c+d)+bc)+bd 方法:如果c=1,那么就是一个因数,加上另一个因数的尾数,做前积;两个因数的乘积,做尾积应用举例:11×11=|11+1||1×1|=12112×14=|12+4||2×4|=1681

    2022年6月8日
    52
  • 批处理文件for循环_批处理循环语句

    批处理文件for循环_批处理循环语句命令格式:for{%variable|%%variable}in(集合)docommand[options]%variable|%%variable:代表可替换参数。使用%variable通过命令提示符执行for命令。使用%%variable在批处理文件中执行for命令;这个变量可以是26个英文字母任意一个,也可以是其他;这些变量会区分大小写,%%x和%%X代表

    2022年10月12日
    0
  • win10 android驱动安装失败,如何解决Windows10显卡驱动安装失败,小白式解决办法…「建议收藏」

    win10 android驱动安装失败,如何解决Windows10显卡驱动安装失败,小白式解决办法…「建议收藏」原标题:如何解决Windows10显卡驱动安装失败,小白式解决办法系统版本在随之进步,从Windows7到Windows10是系统的巨大飞跃,这种飞跃之下,很多问题也随之暴露出来,那就是显卡驱动安装问题。Windows10这个版本,是非常容易出现,而且因为数字签名问题的概率极其大,那么要如何解决这个问题,又成为了众多显卡小白的迷惑点。在这里,就教大家,如何在最快的情况下,解决Windows10显…

    2022年5月2日
    42
  • python画图小代码

    python画图小代码奥运五环importturtlet=turtle.Pen()t.speed(1)#画笔颜色为蓝色t.pencolor(“blue”)#画笔宽度为8t.pensize(8)#画半径为60的圆,篮圈t.circle(60)#第一个环t.penup()t.goto(100,0)t.pendown()设置环的颜色t.pencolor(“black”)t.circle(60)#第二个环t.penup()t.goto(200,0)t.pendown()t.pen

    2022年5月17日
    30

发表回复

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

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