首先我们引入冒泡排序思想:

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

接下来上代码;

#include<stdio.h>
void  maopao(int arr[], int len) {int i;for (i = 0; i < len - 1; i++){int flag = 1;int j;for (j = 0; j < len - 1 - i; j++){if (arr[j] > arr[j + 1]) {int tem = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tem;flag = 0;}}if (flag == 1)break;}}
int main()
{int arr[10] = { 9,8,7,6,5,4,3,2,1,0 };int len = sizeof(arr) / sizeof(arr[10]);maopao(arr, len);for (int i = 0; i < len; i++){printf("%d", arr[i]);
}return 0;
}

关于优化代码思路在于——跳出无用排序,比如我们这里实现0-9升序,如果我们输入的数为0,1,2,3,4,5,6,7,8,9那么传统的经典思路存在一定的局限,优化算法就可以避免无用的排序人浪费的时间。这里我们使用flag作为判断标签实现跳出循环的判断标志。

C语言自定义函数——实现优化冒泡排序相关推荐

  1. R语言optimize函数一维优化实战

    R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数

  2. R语言自定义函数计算dataframe每列中的缺失值NA的个数、缺失值问题及其填充示例

    R语言自定义函数计算dataframe每列中的缺失值NA的个数.缺失值问题及其填充示例 目录

  3. 《零基础看得懂的C语言入门教程 》——(十一)C语言自定义函数真的很简单

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 ...

  4. R语言 自定义函数之趣味程序--老虎机

    ****R语言 自定义函数之趣味程序--老虎机**** 自定义函数 自定义规则 自定义格式 案例:老虎机 老虎机符号准备 老虎机结果分类 老虎机得分计算 开始老虎机试玩 获奖感言 自定义函数 R语言作 ...

  5. [R语言]3. R语言自定义函数

    R语言有很多包,里面有很多函数,但是有时候我们还是需要自定义一些函数,这些函数能够实现一些特定的功能,其实学过一点编程的知道任何语言都可以自定义函数,R语言自定义函数格式如下: 函数的语法格式是: f ...

  6. c语言自定义函数格式化,自定义函数的形式

    c语言程序设计题:请用自定义函数的形式编程实现,代码: #include 请用自定义函数的形式编程实现 CSS布局HTML小编今天和大家分享 s = m. + n. + k.,m.n.k 从键盘输入( ...

  7. C语言自定义函数如何返回数组

    C语言自定义函数如何返回数组  C语言研究中心  CTO  9个月前 (01-28)  4759次浏览  5个评论 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数 ...

  8. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

  9. c语言自定义函数程序设计,ch3自定义函数设计 C语言 《解析C程序设计》.ppt

    ch3自定义函数设计 C语言 <解析C程序设计> 全局变量--外部变量 在函数外定义的变量 有效范围:从定义变量的位置开始到本源文件结束,及有extern声明的其它源文件 存储类型:缺省e ...

最新文章

  1. 解决 mybatis-generator-maven-plugin 中 overwrite 配置无效的问题
  2. Linux中pip install延时问题
  3. python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值
  4. 算法设计与分析 自创O(n)排序算法 适用于任何有理数
  5. layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
  6. (数据库系统概论|王珊)第十章数据库恢复技术-第一、二节:事务的基本概念和数据库恢复概述
  7. I Hate It(HDU-1754)
  8. SQL Server 2005中NTEXT与NVARCHAR(MAX)
  9. python从零学——scrapy初体验
  10. 【渝粤教育】电大中专电子线路作业 题库
  11. php抓住教务处课表详细教程,php实现模拟登陆方正教务系统抓取课表
  12. mysql监控 代码审计_Seay源代码审计系统2.1及源码开放 人人都是代码审计师
  13. 最新正版win7系统下载
  14. Arduino—— SSD1306 OLED IIC
  15. The Tangled Web: A Guide to Securing Modern Web Applications 原版pdf
  16. 解决AD13不能复制原理图的问题
  17. oracle loap函数用法
  18. 死磕 Fragment 的生命周期
  19. android实现购物车效果,Android实现加入购物车动画
  20. ubuntu搭建Fabric环境

热门文章

  1. 杭州卧兔网络:海外网红营销大势所趋,全球品牌出海峰会专家解析
  2. 【转】宇宙的基本法则
  3. css 字数过多隐藏,CSS 超出隐藏实现限制字数的功能代码(多浏览器)
  4. 【hash】哈希算法、哈希碰撞、一致性哈希
  5. 百万在线,你们能接得住吗?
  6. Java常用开源jar包
  7. 分布式系统(数据复制与一致性)
  8. Fre:又一个小而美的前端MVVM框架 1
  9. 关闭Bright data
  10. 去哪儿网的消息队列是如何设计与实现的?