当前位置: 首页 > news >正文

Java数组之八大排序

1. 冒泡排序

a142f7778d56ffa9860447492cbc6512

package com.baidu.www;import java.util.Arrays;public class Test {public static void main(String[] args) {int[] arr = {24, 69, 80, 57, 13};boolean flag = false;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 t = arr[j];arr[j] = arr[j+1];arr[j+1] = t;flag = true;}}if(!flag) break;}System.out.println(Arrays.toString(arr));}
}

2. 选择排序

0cdc03fc8cd93454e0832e0f2b81d8fc

package com.baidu.www;import java.util.Arrays;public class Test {public static void main(String[] args) {int[] arr = {24, 69, 80, 57, 13};boolean flag = false;for (int i = 0; i < arr.length - 1; i++) {for(int j = i + 1; j < arr.length; j++){if(arr[i] > arr[j]){int t = arr[i];arr[i] = arr[j];arr[j] = t;flag = true;}}if(!flag) break;}System.out.println(Arrays.toString(arr));}
}

3. 直接插入排序

f09abf57f4ad52aa0d58d157cb06cdfb

package com.baidu.www;import java.util.Arrays;public class Test {public static void main(String[] args) {int[] arr = {24, 69, 80, 57, 13};// 直接插入排序for (int i = 1; i < arr.length; i++) {int j = i;while (j > 0 && arr[j] < arr[j-1]){
//                int t = arr[j];
//                arr[j] = arr[j-1];
//                arr[j-1] = t;swapValue(arr, j, j-1);j--;}}System.out.println(Arrays.toString(arr));}public static void swapValue(int[] arr, int i, int j){int t = arr[i];arr[i] = arr[j];arr[j] = t;}
}

4. 希尔排序

希尔排序是插入排序的优化

790f76b608043bce547e060f1da157a8


5. 快速排序

6. 归并排序

7. 基数排序

8. 堆排序

http://www.sczhlp.com/news/12254/

相关文章:

  • npm start报错Error: Cannot find module which
  • 这款跨网文件安全交换系统 能实现总分支多区域文件传输
  • 图论02
  • k8s中 CRD(Custom Resource Definition)‌ 和 ‌Controller(控制器)的关系
  • 邮箱大附件怎么发送?专业插件助你轻松突破大小限制!
  • qt 不同分辨率显示不一致问题
  • iOS - TestFlight使用
  • 8.15
  • 【ACM出版|北京外国语大学主办】第七届土木工程、环境资源与能源材料国际学术会议(CCESEM 2025)
  • 【优质会议推荐|稳定检索】2025年9月学术会议合集
  • 详细介绍:框架原理与算法逻辑的深度探索之旅
  • 超级好用的C++实用库之服务包装类
  • 大坑 dao中的方法名不可重载
  • 维护 DAG 中所有节点可达节点数量 可以做到线性吗?
  • 飞算 JavaAI------编程神器
  • 分布式缓存接口正确用法
  • 第九节:幂等性方案实操最全汇总(删除token、pageId+原子自增、分布式锁、布隆过滤器、提前生成订单号)
  • 纷享销客现场服务Agent:重新定义企业服务质量的AI智能引擎
  • Visual Studio 2022(VS2022)激活密钥
  • 实现Channel模块,主要是对连接进行事件管理,主要管理这个连接监控了什么事件,以及事件就绪之后该如何处理等操作。 - 教程
  • 生成式大模型的预训练流程
  • 将Kali Linux中的Firefox浏览器语言设置为中文
  • python项目使用虚拟环境后,只有pyhon,没有pip
  • 二维原子材料显著缩小量子比特体积
  • 基于Java+Springboot+Vue开发的婚纱影楼摄影预约管理系统源码+运行
  • 类库项目生成后自动将某dll文件复制到指定路径处
  • 设计模式优化 - 极致的抽象
  • linux-日常操作记录
  • 详解DMA配置全流程
  • acme.sh生成证书