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

算法-冒泡排序

实现思路

冒泡排序是一种简单的排序算法

实现思路是重复比较相邻元素,顺序错误则交换,使较大元素逐渐“浮”到数组末端

5 3 8 1 2 → 比较5和3 → 交换 → [3,5,8,1,2]
3 5 8 1 2 → 比较5和8 → 不交换 → [3,5,8,1,2]
3 5 8 1 2 → 比较8和1 → 交换 → [3,5,1,8,2]
3 5 1 8 2 → 比较8和2 → 交换 → [3,5,1,2,8]

每次排序将相邻的两个数进行排序,一直到末尾,每次排序时会将整个数列进行一次比较

因为每次排序都会将最大的值“浮”至末尾,所以在实现的时候可以将排序次数随着最大值“浮”起的次数依次减少,从而不用每次排序都将每个数都进行排序,减少运行成本

冒泡算法的实现

#include<stdio.h>
void maopao(int a[],int z) {          //接收要排序的数和数组的元素个数int i = 0;int folg = 1;                     //进行判断是否已经有序,避免进行无效的运行for (i = 0; i < z - 1; i++) {     //j表示元素的下标,通过for循环的递增来实现数组的逐位判断int j = 0;for (j = 0; j < z - 1; j++) {folg = 0;                //发⽣交换赋予0,表示数还是无序的if (a[j] > a[j + 1]) {    //进行判断是否需要进行交换int c = a[j];a[j] = a[j + 1];      //进行交换a[j + 1] = c;}}if(folg == 1)                //发生交换会被赋予0,当为有序时//则不会执行赋予0的语句,就会跳出代码{break;}}
}
int main() {int a[] = {2,4,1,3,7,5,6,8,9 };int z = sizeof(a) / sizeof(a[0]);//计算数组元素个数maopao(a,z);                    //将要排序的元素和元素个数传入该函数内进行排序  for (int f = 0; f < z; f++) {printf("%d ", a[f]);         //将排序完的数组依打印出来}return 0;
}

http://www.xdnf.cn/news/3104.html

相关文章:

  • 服务器丢包率测试保姆级教程:从Ping到网络打流仪实战
  • 毕业论文 | 基于C#开发的NMEA 0183协议上位机
  • 中科院1区top期刊2025年新算法:动麦优化算法(Animated Oat Optimization ,AOO)应用于二维三维无线传感器网络WSN
  • PXI总线开关卡80个交叉点组成的中密度 PXI矩阵开关模块
  • python合并word中的run
  • IP 地址和 MAC 地址是如何转换的
  • PLC与工业电脑:有什么区别?
  • LeetCode209_长度最小的子数组
  • 《跨端开发变革者:解码阿里Ant Container Engine的底层逻辑》
  • 比亚迪再获国际双奖 以“技术为王”书写中国汽车出海新篇章
  • 五款提效工具
  • 理想药用植物的特征综述-理想中药材”的系统定义-文献精读125
  • 鸿蒙文件上传-从前端到后端详解,对比jq请求和鸿蒙arkts请求区别,对比new FormData()和鸿蒙arktsrequest.uploadFile
  • 合并多个Excel文件到一个文件,并保留格式
  • PostgreSQL Patroni集群组件作用介绍:Patroni、etcd、HAProxy、Keepalived、Watchdog
  • SpringBoot+EasyExcel+Mybatis+H2实现导入
  • 力扣面试150题--删除排序链表中的重复元素 II
  • 4.29[Q]NLP-Exp2
  • uni-app - 小程序使用高德地图完整版
  • Snap7西门子PLC通信协议
  • 【Python魔法方法(特殊方法)】
  • VSCode Verilog编辑仿真环境搭建
  • 松灵PiPER强势突围,攻克具身智能“数据壁垒”
  • [逆向工程]深入理解计算机中的“栈”
  • 内容/社区APP增长:用Deeplink让用户分享的内容“一键直达”
  • 4.2.4 MYSQL的缓存策略
  • C++中vector的扩容过程是怎样的?
  • ARP渗透学习1
  • 农村供水智能化远程监控解决方案
  • std::optional 类是个啥?