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)
上一篇 2022年6月13日 下午4:36
下一篇 2022年6月13日 下午4:36


相关推荐

  • UBUNTU12.04系统安装完成后的必要准备

    UBUNTU12.04系统安装完成后的必要准备

    2021年8月21日
    230
  • Haar-like特征提取原理

    Haar-like特征提取原理Haar like 是一种非常经典的特征提取算法 尤其是它与 AdaBoost 组合使用时对人脸检测有着不错的效果 虽然只是在当时而言 OpenCV 也对 AdaBoost 与 Haar like 组成的级联人脸检测做了封装 所以一般提及 Haar like 的时候 一般都会和 AdaBoost 级联分类器 人脸检测 积分图等等一同出现 但是 Haar like 本质上只是一种特征提取算法 下面我们只从特征提取的角度聊一聊

    2026年3月18日
    2
  • 观察者模式是非常常用的设计模式_实现一个观察者模式

    观察者模式是非常常用的设计模式_实现一个观察者模式好久没有写博客啦,之前看完了《设计模式之禅》也没有总结一下,现在回忆一下设计模式之观察者模式。1.什么是观察者模式简单情形:有A、B、C、D等四个独立的对象,其中B、C、D这三个对象想在A对象发生改

    2022年8月6日
    14
  • 华为笔记本键盘锁住了(笔记本电脑键盘怎么亮起来)

    展开全部1、取消键:(退出e69da5e887aa62616964757a686964616f31333366306434键Esc)意思是逃脱、出口。主要作用是退出某个程序。如:在玩游戏时想退出来,按一下这个键即可。2、功能键:(F1——F12)在不同软件中,可起到不同的相应功用,也可以配合其它的键共同起作用。如:F1是帮助功能。3、切换键:(表格键Tab)意思是表格。主要是在文字处理软件里(如W…

    2022年4月14日
    301
  • Ei收录中文期刊一览表

    Ei收录中文期刊一览表br br Ei 收录中文期刊一览表 br 若有变化 以每年度具体收录为准 br 英文刊名 br 中文刊名 br ACTAMECHANIC LIXUEXUEBAOb 力学学报 英文版 br ACTAMETALLUR ENGLISHLETTE br 冶金学报 英文版 br APPLIEDMATHE ENGLISHEDITI br 应用数学与力学 英

    2026年3月19日
    3
  • linux文件重命名rename「建议收藏」

    linux文件重命名rename「建议收藏」linux下rename提供了有效的方法来处理重命名1.修改后缀名(eg.将当前目录下以.log为后缀的文件为以.txt为后缀)rename.log.txt*.logorrename’s/.log$/.txt/’*.log2.删除后缀名(eg.将当前目录下.txt文件的后缀)rename’s/.txt$//’*.txt3.添加后缀名(eg.给当前目录下的

    2025年10月21日
    5

发表回复

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

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