排序算法-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;
		}
				
		
相关推荐
砍材农夫4 小时前
spring-ai 第四多模态API
java·人工智能·spring
她说..7 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
汀、人工智能7 小时前
[特殊字符] 第21课:最长有效括号
数据结构·算法·数据库架构·图论·bfs·最长有效括号
Boop_wu7 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
庞轩px7 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你918 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
Fcy6488 小时前
算法基础详解(三)前缀和与差分算法
算法·前缀和·差分
皮皮林5518 小时前
面试官:ZSet 的底层实现是什么?
java
kvo7f2JTy8 小时前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
码云数智-大飞8 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php