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

【Java之数据结构与算法】

选择排序

package Code01;public class Code01_SelectionSort {public static void selectionSort(int[] arr) {if(arr==null||arr.length<2) {return;}for(int i=0;i<arr.length;i++) {int minIndex = i;for(int j=i+1;j<arr.length;j++) {minIndex = arr[minIndex] > arr[j] ? j : minIndex;}swap(arr,i,minIndex);}}public static void swap(int[] arr,int i,int j) {int tmp=arr[j];arr[j]=arr[i];arr[i]=tmp;}public static void printArray(int[] arr) {for (int i=0;i<arr.length;i++) {System.out.print(arr[i]+" ");}System.out.println();}public static void main(String[] args) {int[] arr= {7,5,6,8,9,1,5,2,3,6};printArray(arr);selectionSort(arr);printArray(arr);}
}

冒泡排序

public static void bubbleSort(int[] arr) {if(arr==null||arr.length<2) {return;}for(int end=arr.length-1;end>=0;end--) {for(int second=1;second<=end;second++) {if(arr[second-1]>arr[second]) {swap(arr,second-1,second);}}}}

插入排序

public static void insertSort1(int[] arr) {if(arr==null||arr.length<2) {return;}for(int end=1;end<arr.length;end++) {int newNumIndex=end;while(newNumIndex-1>=0 && arr[newNumIndex-1]>arr[newNumIndex]) {swap(arr,end-1,end);newNumIndex--;}		}}public static void insertSort2(int[] arr) {if(arr==null||arr.length<2) {return;}for(int end = 1 ; end < arr.length ; end++) {//pre 新数的前一个位置for(int pre = end-1 ; pre>=0 && arr[pre] > arr[pre+1] ; pre--) {swap(arr , pre , pre+1);}		}}

http://www.lryc.cn/news/264579.html

相关文章:

  • 爬虫scrapy中间件的使用
  • 普冉(PUYA)单片机开发笔记 [完结篇]:使用体会
  • Elasticsearch:生成 AI 中的微调与 RAG
  • ip静态好还是dhcp好?
  • PolarDB-X、OceanBase、CockroachDB、TiDB二级索引写入性能测评
  • Convolutional Neural Network(CNN)——卷积神经网络
  • 鸿蒙开发基本概念
  • Open CV 图像处理基础:(二)从基本概念到实践操作
  • 【MAC】M2 安装docker 与 mysql
  • 轻量级web开发框架Flask本地部署及无公网ip远程访问界面
  • 用最通俗的语言讲解 TCP “三次握手,四次挥手”
  • 使用RedisCacheWriter#clean在线异步地批量扫描匹配删除缓存数据-spring-data-redis
  • 机器视觉:AI赋能缺陷检测,铸就芯片产品的大算力与高能效
  • (9)Linux Git的介绍以及缓冲区
  • 华为云之ECS云产品快速入门
  • tcp 的限制 (TCP_WRAPPERS)
  • 如何保证架构的质量
  • JavaWeb笔记之前端开发JavaScript
  • SCAU:18063 圈中的游戏
  • .NET Core中鉴权 Authentication Authorization
  • PyTorch深度学习实战(26)——卷积自编码器(Convolutional Autoencoder)
  • Milvus实战:构建QA系统及推荐系统
  • 使用Docker部署Nexus Maven私有仓库并结合Cpolar实现远程访问
  • GEE-Sentinel-2月度时间序列数据合成并导出
  • 【深度学习】语言模型与注意力机制以及Bert实战指引之二
  • 计算机网络 网络层下 | IPv6 路由选择协议,P多播,虚拟专用网络VPN,MPLS多协议标签
  • 【MATLAB第83期】基于MATLAB的LSTM代理模型的SOBOL全局敏感性运用
  • 求奇数的和 C语言xdoj147
  • 全链路压力测试:解析其主要特点
  • 算法基础之约数个数