冒泡排序的基本思想

冒泡排序也称气泡排序,是一种典型的交换排序方法,其基本思想是通过无序区中相邻元素关键字间的比较和位置的交换使关键字最小的元素如气泡一般逐渐往上“漂浮”,直至“水面”

#include<stdio.h>void BubbleSort(int R[],int length) {int temp = 0;int flag;for(int i = 0;i<length-1;i++) {//趟数if(flag == 0) {//如果没有发生交换,中途结束算法return;}flag = 0;//每一趟之前flag置为假for(int j = length-1;j>i;j--) {if(R[j]<R[j-1]) {temp = R[j];R[j] = R[j-1];R[j-1] = temp;  flag = 1;//一旦有交换,flag置为真}}}
}void main() {int array[10] = {9,8,7,6,5,4,3,2,1,0};BubbleSort(array,10);for(int i = 0;i<10;i++) {printf("%d",array[i]);}
}

如果想详细了解算法,请到传送门:https://blog.csdn.net/qq_43290288/article/details/108126617

数据结构-冒泡排序最优代码(C语言)相关推荐

  1. C语言一趟冒泡交换最小值,C语言单链表冒泡排序为啥以下代码实现不了?

    struct node *sort(struct node *head)/*排序*/ { struct node *p,*q; struct node *temp; for(p=head;p!=NUL ...

  2. 数据结构源码笔记(C语言):冒泡排序

    //冒泡排序算法实现 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  3. c语言冒泡排序法代码(c语言冒泡排序法代码讲解)

    求一个C语言冒泡排序法的简单程序怎么办? 下一趟排序开始时,R[1..lastExchange-1]是有序区,R[lastExchange..n]是无序区.这样,一趟排序可能使当前有序区扩充多个记录, ...

  4. 严蔚敏《数据结构》的全部代码实现(C语言)

    严蔚敏<数据结构>的全部代码实现(C语言)源码全部都在! http://u.115.com/file/f710d0eca1     提取码 f710d0eca1

  5. 数据结构(十九) -- C语言版 -- 树 - 树、森林、二叉树的江湖爱恨情仇、相互转换

    内容预览 零.读前说明 一.树转换为二叉树 二.二叉树转换为树 三.二叉树转换为森林 四.森林转换为二叉树 五.树与森林的遍历 5.1.树的遍历 5.2.森林的遍历 零.读前说明 本文中所有设计的代码 ...

  6. 数据结构源码笔记(C语言描述)汇总

    数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...

  7. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

    //实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...

  8. 数据结构源码笔记(C语言):索引文件建立和查找

    //实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...

  9. 数据结构源码笔记(C语言):快速排序

    //实现快速排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

最新文章

  1. 独家 | 虚假疫苗网站如何获取你的个人信息
  2. 干货丨手把手带你玩转机器学习和深度学习
  3. 如何画正太分布曲线_图解统计学 01 | 神奇的正态分布
  4. 使用Java处理除法运算的陷阱
  5. Spring Aop 日志管理及配置文件的详细配置
  6. 我的一次被骗去培训班狗血的经历
  7. 【转】PHP面试题总结
  8. 传苹果新iPhone显示屏4英寸 可视面积扩大30%
  9. matlab weibpdf函数,matlab建模常用函数
  10. WSL2:我在原生的Win10玩转Linux系统
  11. 笔记本电脑装机详细步骤图文教程
  12. 手机定位折腾记(1):安卓手机的网络定位与NetworkLocation.apk
  13. css中用来去除列前面的黑点,CSS中去除li前面的小黑点,a下划线 和ul、LI部分属性方法...
  14. 微型计算机的型号是奔四800,第1章 微型计算机基础知识
  15. 解决跨域设置Cookie问题
  16. Arcpy批量导出shp文件属性表——使用arcpy.da.SearchCursor函数
  17. K-Means聚类分析广告投放效果的改进(数据标准化、最佳K值的确定)
  18. 以太坊-Ethereum Studio工具入门-快速开始
  19. 我们都没有迎来决赛---Leo读《不是孙振耀写的职场感言》(1)
  20. gif透明背景动画_BMP、GIF、TIFF、PNG、JPG和SVG格式图像的特点

热门文章

  1. 【亚马逊AWS】入门级别实践
  2. Android HttpClient GET或者POST请求基本使用方法
  3. (转)iOS 各种控件默认高度(图示)
  4. Vim改装编辑器的安装与使用简介
  5. 警惕谷歌新形式的垄断
  6. Dedicated and Shared Server
  7. 动手敲10行代码读懂Python
  8. 【MATLAB】绘图技巧(4)——网格线与边框线控制
  9. matlab imwrite函数保存jpg格式图像丢失数据或改变图像
  10. Matlab——数值计算——单个代数方程 代数方程组