排序算法-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;
		}
				
		
相关推荐
Logic1013 小时前
C语言/数据结构位运算题解:异或XOR找出套碗游戏中的“幸运碗“——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
李福春3 小时前
斗破Google ADK Java苍穹-第5境斗灵-凝物通脉-Context与State
java·开发语言·人工智能·java-ee·google adk·深圳同盟·腾讯云架构师技术同盟
十年Java程序媛3 小时前
Java 接口和抽象类对比|抛弃老旧八股,正确选型
java·开发语言·spring boot·后端
范中勤3 小时前
OSS 多文件打包回流上传:流式管道无落地 VS 临时磁盘落地,两种工业方案深度对比
java·高并发·zip·oss·架构选型
无毁的湖光-Al3 小时前
解Bug之路-隔离故障点后业务不恢复?-热点Key处理与亚稳态故障
java·数据库·mysql
yi0113 小时前
LeetCode 3. 无重复字符的最长子串|不定长滑动窗口:什么时候更新最大值?
笔记·python·算法·leetcode·双指针·滑动窗口
Eyfcom3 小时前
快递管理系统中的电子围栏实战:高德与谷歌双平台技术选型与实现
java·后端·快递管理系统
Rain的Java大神之路3 小时前
Java PDF导出,90%的人选错库!11个生产坑+选型+代码,一次讲透
java·后端·面试
y1su3 小时前
Leetcode 单调栈模板
java·开发语言·数据结构·算法·leetcode
郑州光合科技余经理4 小时前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程