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之---冒泡排序

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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