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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Poetry(2)Poetry的基本使用方式「建议收藏」

    Poetry(2)Poetry的基本使用方式「建议收藏」Poetry的基本使用准备工作如果你是在一个已有的项目里使用Poetry,你只需要执行poetryinit命令来创建一个pyproject.toml文件:poetryinit可看到

    2022年8月7日
    4
  • 使用netron对mnist网络结构分析「建议收藏」

    使用netron对mnist网络结构分析「建议收藏」基于libonnx环境简要分析一下mnist网络算子结构,关于环境搭建可以参考前面两篇文章:xboot大神的libonnx环境搭建使用netron实现对onnx模型结构可视化本文主要目的是搞清楚mnist各层之间数据shape的变化情况,关于什么是shape,引用一本书中的介绍:”在tensorflow中,使用张量来表示计算图中的所有数据,张量在计算图的节点之间流动,张量可以看成N维数组,而数组的维数就是张量的阶数。因此,0阶张量对应标量数据,1阶张量对应一维数组,也就是向量。二阶张量对应二

    2022年10月21日
    3
  • android组件安全检测工具(内存检测工具memtest)

    Android应用安全检测工具简介1、测试工具集Appie–轻量级的软件包,可以用来进行基于Android的渗透测试,不想使用VM的时候可以尝试一下.AndroidTamer–可以实时监控的虚拟环境,可以用来进行一系列的安全测试,恶意软件检测,渗透测试和逆向分析等.AppUse–AppSecLabs开发的Android的虚拟环境.Mobisec–移…

    2022年4月17日
    208
  • Ubuntu LAMP 虚拟域名配置

    Ubuntu LAMP 虚拟域名配置虚拟域名配置

    2022年6月1日
    30
  • win10企业版永久激活方法「建议收藏」

    win10企业版永久激活方法「建议收藏」win10企业版永久激活方法?win10企业版是针对企业用户推出的版本,随着win10系统的不断完善,现在越来越多的人选择升级win10,升级完系统就需要激活它。那么今天就为大家分享一下怎么永久激活w

    2022年8月1日
    6
  • pycharm2021.12.4最近激活码【中文破解版】

    (pycharm2021.12.4最近激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html41MD9IQHZL-eyJsaWNlbnNlSW…

    2022年3月30日
    45

发表回复

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

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