八大排序--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;
				}
			}
		}
	}
	
}

结果:

相关推荐
程序员张330 分钟前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端
闲猫32 分钟前
Spring AI Agentic 模式(第1部分):Agent Skills——模块化、可复用的能力
java·人工智能·spring
源图客39 分钟前
云途物流API开发-鉴权认证(Java)
java·网络·python
liguojun20251 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
952362 小时前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
卓怡学长2 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
C++、Java和Python的菜鸟2 小时前
第7章 Java高级技术
java·开发语言
程序员佳佳3 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding
Listen·Rain4 小时前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
霸道流氓气质4 小时前
Java 工程师 AI 智能体(Agent)完整学习路线
java·人工智能·学习