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

利用c语言详细介绍下冒泡排序

    软件开发过程中,排序算法是常规且使用众多的方法之一,而冒泡算法又是排序算法中最常规且基本的算法。今天我们利用c语言,图文详细介绍下冒泡算法。

一、图文介绍

    我们输入一个数组,数组为【10,5,3,20,1]。

1.1,内循环一遍

    内循环第一遍,我们需要遍历整个数组,然后从第一个元素开始比对,最终把最大的元素移动到末尾:

1.2,内循环二遍 

    内循环第二遍,我们还是从第一个元素开始,但是我们之后只遍历到倒数第二个元素,因为最后一个元素已经是最大的了:

1.3,内循环三遍

  

1.4,内循环四遍 

    内循环4遍后,整个数组排序完成,最终结果如图:

二、算法实现

2.1,冒泡排序算法 

    我们用c语言写一个函数,函数里面实现具体算法:

int *  bubbleSort(int *arr,int len)
{int tmp;for(int i=0;i<len-1;i++)  //外循环{for(int j=0;j<len-i-1;j++) //内循环{if(arr[j]>arr[j+1])  //元素大小判断,如果前面元素大于后面,则完成数据交互{tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;}}}return arr;
}

2.2,功能测试

int main() {int a[]={10,5,3,20,1};int *p = bubbleSort(a,5);printf("the array a after sort is ");for(int i=0;i<5;i++){printf("%d ", *(p++));}}

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

相关文章:

  • C# 面向对象
  • android wifi扫描的capability
  • datawhale 2411组队学习:模型压缩4 模型量化理论(数据类型、int8量化方法、PTQ和QWT)
  • 数据分析-48-时间序列变点检测之在线实时数据的CPD
  • POD-Transformer多变量回归预测(Matlab)
  • Hadoop生态圈框架部署(七)- MySQL安装与配置教程
  • 视频直播5G CPE解决方案:ZX7981PG/ZX7981PMWIFI6网络覆盖
  • 技术周刊 |Google 2024 年首届 Web AI 峰会回顾
  • web——upload-labs——第十二关——%00截断
  • ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
  • win10 自带 directx 修复工具怎么用?最新 directx 修复工具使用方法介绍
  • 报错java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not ...解决方法
  • 前端三大件之CSS
  • C语言 | 指针 | 野指针 | 数组指针 | 指针数组 | 二级指针 | 函数指针 | 指针函数
  • mysql 的乐观锁和 mvcc 是一回事吗
  • redis的击穿和雪崩
  • java中创建多线程的4种方式
  • MATLAB深度学习(二)——如何训练一个卷积神经网路
  • 删除k8s 或者docker运行失败的脚本
  • 重置docker版本的octoprint管理员账号密码
  • prometheus监控数据远程写入Kafka集群
  • Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
  • C++小白实习日记——Day 2 TSCNS怎么读取当前时间
  • 【Pythonr入门第二讲】你好,世界
  • 3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
  • Oracle 单机及 RAC 环境 db_files 参数修改
  • 消息中间件分类
  • 讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
  • SpringBoot开发——整合AJ-Captcha实现安全高效的滑动验证码
  • Spring Security 核心组件