冒泡算法:是排序算法中的基本算法,基本概念就是逐个比较大小,由开始到末尾逐次比较,比较一次确定一个数的位置,例如数组元素个数n,则比较(n-1)+(n-2)+…+1次。

demon:

#include<stdio.h>void bubble_sort(int *arry,int n)
{int tmp,i,j;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(arry[j]>arry[j+1]){tmp=arry[j];arry[j]=arry[j+1];arry[j+1]=tmp;}
}int main()
{int i;int arry[10]={10,8,1,3,6,7,4,2,9,5};int n=sizeof(arry)/sizeof(arry[0]);bubble_sort(arry,n);printf("排序后数组为:");for(i=0;i<n;i++){printf("%d ",arry[i]);}printf("\n");return 0;
}

运行结果:

数据结构——冒泡算法相关推荐

  1. 【数据结构与算法】排序 冒泡、插入、选择 O(n^2)

    冒泡.插入.选择 O(n2) 基于比较 快排.归并 O(nlogn) 基于比较 计数.基数.桶 O(n) 不基于比较 一.如何分析一个排序算法? 学习排序算法的思路?明确原理.掌握实现以及分析性能. ...

  2. C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划

    C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划 博文末尾支持二维码赞赏哦 _ github 章3 Stack栈 和 队列Queue= ...

  3. Java数据结构和算法(三)——冒泡、选择、插入排序算法

    上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法. 回到顶部 1.冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底 ...

  4. 数据结构与算法的八股文自述(持续更新)

    数据结构与算法的八股文自述 1.1 排序算法 冒泡排序: 冒泡排序只会操作相邻的两个数据.每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求.如果不满足就让它俩互换.一次冒泡会让至少一个 ...

  5. java 100以内冒泡算法_Java俩种形式实现冒泡排序

    数据排序的重要性在实际项目开发中的重要性不言而喻,无论是数据整理还是分析都离不开排序这道工序. ------------- 冒泡排序-- 是一种比较简单的排序方法,也是在数据结构课程中我们学习到的第一 ...

  6. 从零开始学数据结构和算法(二)线性表的链式存储结构

    链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...

  7. a - 数据结构实验之串一:kmp简单应用_中高级面试必备:快速入门数据结构和算法

    一 前言 1 为什么要学习算法和数据结构? 解决特定问题. 深度优化程序性能的基础. 学习一种思想:如何把现实问题转化为计算机语言表示. 2 业务开发要掌握到程度? 了解常见数据结构和算法,沟通没有障 ...

  8. python程序结构有哪几种_Python数据结构与算法(几种排序)小结

    Python数据结构与算法(几种排序) 数据结构与算法(Python) 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺 ...

  9. 快速入门数据结构和算法

    简介:有哪些常见的数据结构?基本操作是什么?常见的排序算法是如何实现的?各有什么优缺点?本文简要分享算法基础.常见的数据结构以及排序算法,给同学们带来一堂数据结构和算法的基础课. 一 前言 1 为什么 ...

最新文章

  1. 打包应用和构建Docker镜像(docker在windows上)
  2. 简书python自动化运维_简明Python开发教程(4):网络自动化运维的曙光
  3. 笔记-信息系统开发基础-架构设计-软件系统架构视图
  4. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
  5. 南方s730手簿说明书_最新S730手簿及3.0简易操作82
  6. swagger 修改dto注解_Swagger介绍及使用
  7. @程序员,早知道假期这样你会干什么?
  8. linux shell 数字计算详解
  9. js基础-19-判断图片加载完成的方法
  10. speedoffice(PPT)插入的表格怎么拆分单元格
  11. 微信授权登录 java_[JAVA实现]微信公众号网页授权登录
  12. 大数据智能分析的未来发展趋势
  13. 主播必备超萌代打猫咪,超人气全键盘版资源下载~
  14. 国家教育部公布14所高校开设“区块链工程”本科专业
  15. scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;
  16. 闪烁之光手游如何在电脑上玩 闪烁之光手游模拟器教程
  17. python延时执行下一步
  18. 固态硬盘之模组(成品)厂商
  19. 三种主要嵌入式数据库
  20. 【云原生】1.2 Docker基本概念(含 Docker 安装)

热门文章

  1. themeleaf引入公共页面
  2. LaTeX 3排版入门
  3. u盘无媒体容量0无卷还能修吗_膨胀了,我花500块组装了一块比硬盘还快的U盘
  4. 【代码审计】CLTPHP_v5.5.3后台任意文件删除漏洞分析
  5. 301跳转:http跳转https不带www跳转到带www
  6. 20191028日程计划
  7. 学历不高可以学java吗?有什么好的自学java方法
  8. java getfield_Java Class.getField()/getDeclaredField()返回成员变量
  9. canny算子的python实现以及pytorch实现
  10. linux下mysql 8.0密码忘了怎么办