排序算法-java版本

冒泡排序

原理:相邻的数据两两比较,小的放前面,大的放后面

java 复制代码
int[] arr={3,5,2,1,4}
for(int i=0;i<arr.length-1;i++){
	for(int j=0;j<arr.length-1-i;j++){
		if(arr[j]>arr[j+1]){
			int temp=arr[j];
			arr[j]=arr[j+1];
			arr[j+1]=temp;
			}
		}
	}

选择排序

升序原理:拿当前元素和其后面所有元素都进行比较,如果有比当前元素小的那么就喝当前元素进行交换位置,直到所有元素全部比较完

java 复制代码
int[] arr={4,1,5,3,2}
for(int i=0;i<arr.length-1;i++){
	for(int j=i+1;j<arr.length;j++){
		if(arr[i]<arr[j]{
			int temp=arr[j];
			arr[i]=arr[j];
			arr[j]=temp;
			}
		}
	}

二分查找法

前提:数组中元素需要有序

java 复制代码
public static boolean searchKey(int[] arr,int key){
	int min=0;
	int max=arr.length-1;
	int mid;
	boolean flag=false;
	while(min<=max){
		mid=(min+max)/2;
		int num=arr[mid];
		if(num==key){
			flag=true;
			break;
			}else if(num>key){
				max=mid-1;
				}else if(num<key){
					min=mid+1;
					}
				}
			return flag;
		}
				
		
相关推荐
皮皮林5516 小时前
IDEA 源码阅读利器,你居然还不会?
java·intellij idea
卡尔特斯10 小时前
Android Kotlin 项目代理配置【详细步骤(可选)】
android·java·kotlin
白鲸开源10 小时前
Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录
java·ubuntu·开源
ytadpole10 小时前
Java 25 新特性 更简洁、更高效、更现代
java·后端
纪莫10 小时前
A公司一面:类加载的过程是怎么样的? 双亲委派的优点和缺点? 产生fullGC的情况有哪些? spring的动态代理有哪些?区别是什么? 如何排查CPU使用率过高?
java·java面试⑧股
JavaGuide11 小时前
JDK 25(长期支持版) 发布,新特性解读!
java·后端
用户37215742613511 小时前
Java 轻松批量替换 Word 文档文字内容
java
白鲸开源11 小时前
教你数分钟内创建并运行一个 DolphinScheduler Workflow!
java
CoovallyAIHub12 小时前
中科大DSAI Lab团队多篇论文入选ICCV 2025,推动三维视觉与泛化感知技术突破
深度学习·算法·计算机视觉
Java中文社群12 小时前
有点意思!Java8后最有用新特性排行榜!
java·后端·面试