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


相关推荐

  • linux重启nginx服务命令_windows nginx启动命令

    linux重启nginx服务命令_windows nginx启动命令Linux重启nginx

    2022年8月13日
    5
  • app放真机测试_什么软件可以验机安卓手机

    app放真机测试_什么软件可以验机安卓手机本方式测试环境为XCode3.2.3IOS4.0本方法只能把APP放到真机中测试,不能联机调试。 APP写好了之后,关闭XCode,记的要完全关闭哦。找到/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/里的SDKSettings.plist.先修改一下权限。右键GetInfo,不多…

    2022年9月6日
    7
  • linux ad7705驱动程序,tm7705_51单机片驱动[通俗易懂]

    这是tm7705_51单机片驱动,为AD7705的驱动程序,keil开放环境开发。基于51单片机。软件说明tm770551驱动已在STC单片机51驱动AD77057705电路图TL431管脚图软件功能这是我自己做的AD7705采集模块,我毕业设计做的linux系统下面的前置采集,做的是AD7705的驱动的编写,下面是我编写的AD7705的51单片机的程序,直接调试完成了,你们可以直接…

    2022年4月12日
    91
  • MacPorts 安装与使用

    MacPorts 安装与使用MacPorts安装与使用安装修改安装源MacPorts使用MacPorts像brew一样,可以快速安装软件。安装在安装macports之前注意要保证当前系统已安装xcode且保持最新版本。https://www.macports.org/install.php官网地址查找对应的系统版本。找到对应版本的dmg安装包,下载后安装。在安装的过程中,会卡在运行软件包步骤。切记断网安装,不进行软件包的安装更新。如果卡在此安装步骤无法退出,可进行如下操作:1.在活动监视器找到对应的安装程序强制退

    2022年9月21日
    1
  • idea2021.1.4激活码【最新永久激活】

    (idea2021.1.4激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月26日
    251
  • 小强学Python+OpenCV之-1.3绘图

    小强学Python+OpenCV之-1.3绘图

    2022年3月3日
    52

发表回复

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

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