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

【算法】冒泡排序

前言:

        冒泡排序是一种简单的排序算法,基本思想是通过重复遍历待排序的数列,比较相邻元素并交换它们的位置,以将较大(较小)的元素 “冒泡” 到数列的末端。

正文:

一、冒泡排序的关键步骤:

1、比较相邻的步骤

2、遍历整个数列

3、循环执行

二、冒泡排序的复杂度:

        最好的情况:O(n) ,此时说明我们的数据已经处于一个有序的状态。

        最坏和平均的情况:O(n的2次方)

三、冒泡排序的特点:

        1、稳定性:即相等的元素在排序后仍保持原有的顺序性。

        2、简单:实先简单,易理解,不易使用在大型数据中。

四、java代码示例

package com.muyu.cloud.system.test;/*** @author: 宁兴星* Date: 2024/9/12 17:43* Description:*/
public class BubbleSort {// 冒泡排序方法public static void bubbleSort(int[] arr) {int n = arr.length;boolean swapped;// 外层循环控制比较的轮数for (int i = 0; i < n - 1; i++) {swapped = false;// 内层循环进行相邻元素的比较与交换for (int j = 0; j < n - 1 - i; j++) {if (arr[j] > arr[j + 1]) {// 交换 arr[j] 和 arr[j + 1]int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;swapped = true; // 标记发生了交换}}// 如果没有发生交换,数组已经有序,提前结束if (!swapped) {break;}}}// 主方法进行测试public static void main(String[] args) {int[] array = {64, 34, 25, 12, 22, 11, 90};System.out.println("原数组:");printArray(array);bubbleSort(array);System.out.println("排序后的数组:");printArray(array);}// 打印数组的辅助方法public static void printArray(int[] arr) {for (int num : arr) {System.out.print(num + " ");}System.out.println();}
}

执行结果(升序):

 

如需要降序,将 > 修改为 < 即可:

 

执行结果:

 


http://www.mrgr.cn/news/25327.html

相关文章:

  • ETC SLAVE状态解释
  • java的ReentrantLock原理
  • ffmpeg面向对象-rtsp拉流相关对象
  • Hash算法与Hash冲突
  • 【EI会议末轮截稿通知】第三届电子信息技术国际学术会议(EIT 2024)
  • 从制造业单项冠军到领航企业群,深圳要如何发力?
  • R语言论文插图模板第10期—正负柱状图
  • 攻防世界 CTF Pwn(一)
  • 提升开发效率的神器:编程工具盘点与应用体验
  • 再次进阶 舞台王者 第八季完美童模全球赛荣耀大使【梁悦源】赛场秀场超燃合集!
  • NoSQL之Redis配置与优化(2)
  • vue-router + el-menu
  • PMP证书速成秘籍:小白3月变身项目管理达人!
  • CLIP:Learning Transferable Visual Models From Natural Language Supervision
  • RK3568 初识
  • PyTorch----模型运维与实战
  • SAP B1 单据页面自定义 - 用户界面编辑字段
  • 谁破防了?低代码能代替程序员吗
  • 高并发内存池(4)——实现CentralCache
  • 揭秘如何利用SCDN守护平台网站安全