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

【数据结构与算法】三种简单排序算法,包括冒泡排序、选择排序、插入排序算法

 冒泡排序算法

冒泡排序他是通过双重循环对每一个值进行比较,将小的值向后移动,以达到最终排序的结果,他的时间复杂度为O(n^2)。

    /*** 冒泡排序* @param arr*/public static void bubbleSort(int[] arr){int l =arr.length;for (int i = 0; i <l-1 ; i++) {for (int j = 0; j <l-i-1 ; j++) {if (arr[j]>arr[j+1]){int temp =arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}

选择排序算法

选择排序也是进行两次循环遍历,获取最大或最小的值,然后进行交换。他的时间复杂度也为O(n^2)。

    /*** 选择排序算法* @param arr*/public static void selectSort(int[] arr){int l =arr.length;for (int i = 0; i <l-1 ; i++) {int minIndex =i;for (int j = i+1; j <l ; j++) {if (arr[j]<arr[minIndex]){minIndex=j;}}int temp =arr[i];arr[i]=arr[minIndex];arr[minIndex]=temp;}}

插入排序算法

插入排序是将一个数在前面已经排好的有序列表中进行遍历,插入到符合顺序的地方。以此来获得一个长度+1的有序列表。他的时间复杂度也为O(n^2)。

    /*** 插入排序算法* @param arr*/public static  void  insertSort(int[] arr){int l =arr.length;for (int i = 1; i <l ; i++) {int insert=arr[i];int j =i-1;while (j>=0&&arr[j]>insert){arr[j+1]=arr[j];j--;}arr[j+1]=insert;}}

 


未完待续......

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

相关文章:

  • 视频太大怎么压缩变小?超过1G的视频这样压缩
  • Edge 无法登录/同步问题【一招搞定】
  • ESP32-S3上手开发
  • UE4和C++ 开发-编程基础记录(UE4+代码基础知识)
  • 【Unity】【VR】如何让Distance Grab抓取物品时限制物品的Rotation
  • 为什么3ds max渲染效果图有噪点?点进来,CG Magic告诉您!
  • Element UI怎么安装呢?
  • redis批量删除命令
  • kubernetes环境 搭建
  • TCP习题总结
  • 华为发布LampSite X室内数字化创新解决方案,释放数字世界无限潜能
  • 麒麟操作系统设置QT程序开机自启动有效方法
  • Python数组删除元素pop与remove对比
  • 【Java 进阶篇】Java Web 编写注册页面案例
  • 7.5 SpringBoot 拦截器Interceptor实战 统一角色权限校验
  • 【原创】ubuntu18修改IP地址
  • Vue-2.4sync修饰符
  • 【RealTek sdk-3.4.14b】RTL8197FH-VG+RTL8367+RTL8812F WiFi to LAN 和WiFi to WAN吞吐量
  • vue 本地上传Excel文件并读取内容
  • 京东商品品牌数据采集接口,京东商品详情数据接口,京东API接口
  • 电脑提示Explorer.exe系统错误该怎么办?
  • Java架构师部署架构设计
  • ubuntu 22.04.3 live server图文安装流程
  • 基于SVM+TensorFlow+Django的酒店评论打分智能推荐系统——机器学习算法应用(含python工程源码)+数据集+模型(一)
  • Elasticsearch 分片内部原理—近实时搜索、持久化变更
  • 华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)
  • 玩转ChatGPT:图像识别(vol. 1)
  • oracle 数据库实验三
  • 多线程并发篇---第五篇
  • java实现权重随机获取值或对象