八大排序--01冒泡排序

假设有一组数据 arr\[\]={2,0,3,4,5,7}

方法:开辟两个指针,指向如图,前后两两进行比较,大数据向后冒泡传递,小数据换到前面。

一次冒泡后,数组中最大的数据将到达正确位置。

java 复制代码
for(int i=0;i<arr.length-1;i++) {
				if(arr[i]>arr[i+1]) {
					//进行交换
					int temp =arr[i];
					arr[i]=arr[i+1];
					arr[i+1]=temp;
				}
}

要想让所有数据 到达正确位置,循环进行j次:

java 复制代码
for(int j=0;j<arr.length;j++) {
			for(int i=0;i<arr.length-1-j;i++) {
				if(arr[i]>arr[i+1]) {
					//进行交换
					int temp =arr[i];
					arr[i]=arr[i+1];
					arr[i+1]=temp;
				}
			}
		}

完整代码:

java 复制代码
package Java.start;

import java.util.Arrays;

import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;

public class BubbleSort {
  //冒泡排序
	public static void main(String[] args) {
		int[] arr= {2,0,3,4,5,7};
		sort(arr);
		System.out.println(Arrays.toString(arr));
		
//		for(int i=0;i<arr.length;i++) {
//			System.out.println(arr[i]);
//		}
		
	}
	public static void sort(int[] arr) {
		for(int j=0;j<arr.length;j++) {
			for(int i=0;i<arr.length-1-j;i++) {
				if(arr[i]>arr[i+1]) {
					//进行交换
					int temp =arr[i];
					arr[i]=arr[i+1];
					arr[i+1]=temp;
				}
			}
		}
	}
	
}

结果:

相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi3 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号3 天前
java函数式编程--入门基础
java·编程·函数式编程