java冒泡排序法排序

冒泡排序法:在冒泡排序的过程中,不断地比较数组中的相邻的两个元素,较小者向上浮,较大者往下沉。整个过程和水中气泡上升的原理相似。
接下俩通过几个步骤具体分析一下冒泡排序法的整个过程,具体如下:
第一步:从第一个元素开始,将相邻的两个元素依次比较,直到最后两个元素完成比较。如果前一个比后一个元素大,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值。这样就完成了第一轮比较。
第二步:除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组中第2大的数放在倒数第2个位置。
第三步:依此类推,持续对越来越少的元素重复上面的步骤,知道没有任何一对元素需要比较为止。

public static void main(String[] args) {
		int[] arr= {12,8,26,15,2};
		System.out.println("冒泡排序法前:");
		printArray(arr);
		bubbleShort(arr);
		System.out.println("冒泡排序法后");
		printArray(arr);
	}
	/**
	 * 定义打印数组元素的方法
	 * @param arr
	 */
	public static void printArray(int[] arr) {
		//循环遍历数组中的元素
		for (int i = 0; i < arr.length; i++) {
			//打印元素和空格
			System.out.print(arr[i]+" ");
		}
		System.out.println("\n");
	}
	/**
	 * 定义对数组排序的方法
	 * @param arr
	 */
	public static void bubbleShort(int[] arr) {
		//定义外层循环
		for (int i = 0; i < arr.length-1; i++) {
			//定义内层循环
			for (int j = 0; j < arr.length-i-1; j++) {
				//比较相邻元素
				if(arr[j]>arr[j+1]) {  
					//下面的三行代码用于交换两个元素
					int temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
			System.out.println("第"+(i+1)+"轮排序后:");
			printArray(arr);
		}
	}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值