Java 冒泡排序 【小案例详解】

版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/weixin_43802738/article/details/86496083
冒泡排序算法的原理如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
思路:

相邻两个元素进行比较一次,符合条件交换位置
在这里插入图片描述

代码实现:
public class test {
	public static void main(String[] args) {
		int arr[]= {21,3,43,5,7,1};		//定义数组
		//遍历排序前的数组
		System.out.print("排序前数组元素为:");
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]);
			if(i<arr.length-1) {	//除最后一个元素外,依次添加“,”进行分割
				System.out.print(",");
			}
		}
		System.out.println();	//换行
		bubbleSort(arr);	//调用bubbleSort()方法,并将实参arr数组传进去
	}
	
	public static void bubbleSort(int[] arr) {
		
		for(int j=0;j<arr.length;j++) {		//控制轮数
			for(int i = 0;i<arr.length-1;i++) {		//每循环一次找出一个最值
				//比较相邻两个元素大小,此为从小到大排序,若想从大到小进行排序,只需改为 arr[i]<arr[i+1] 即可
				if(arr[i]>arr[i+1]) {
					//交换位置
					int temp = arr[i];
					arr[i] = arr[i+1];
					arr[i+1] = temp;
				}
			}
		}
		
		//遍历排序后的数组,查看效果
		System.out.print("排序后数组元素为:");
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]);
			if(i<arr.length-1) {	//除最后一个元素外,依次添加“,”进行分割
				System.out.print(",");
			}
		}
	}
}


效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43802738/article/details/86496083