算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

动图演示

#include

#include

#include

#include

#include

//交换数值

void swap(int *a,int *b)

{

int temp = *a;

*a = *b;

*b = temp;

}

//打印数组

void printArray(char msg[],int arr[],int len){

printf("%s:",msg);

for (int i = 0; i < len; i++){

printf("%d ", arr[i]);

}

printf("\n");

}

//冒泡排序

void bubble_sort(int a[],int len){

for(int i=0;i

for(int j=0;j

if(a[j]>a[j+1]){

swap(&a[j],&a[j+1]);

}

}

printf("第%d轮",i+1);

printArray("",a,len);

}

}

int main()

{

int len=10;

int arr[len];

srand((unsigned)time(NULL));

//随机生成长度为"len"的数组

for(int i=0;i

arr[i]=rand()%200;

}

printArray("未排序前",arr,len);

bubble_sort(arr,len);

printArray("冒泡排序",arr,len);

//防止windows下控制台窗口闪退

int s;

scanf("%d",&s);

return 0;

}

结果:

未排序前:154 140 168 88 99 138 173 62 51 153

第1轮:140 154 88 99 138 168 62 51 153 173

第2轮:140 88 99 138 154 62 51 153 168 173

第3轮:88 99 138 140 62 51 153 154 168 173

第4轮:88 99 138 62 51 140 153 154 168 173

第5轮:88 99 62 51 138 140 153 154 168 173

第6轮:88 62 51 99 138 140 153 154 168 173

第7轮:62 51 88 99 138 140 153 154 168 173

第8轮:51 62 88 99 138 140 153 154 168 173

第9轮:51 62 88 99 138 140 153 154 168 173

冒泡排序:51 62 88 99 138 140 153 154 168 173

冒泡排序 c语言,冒泡排序(C语言)相关推荐

  1. c语言冒泡排序(解析)

    c语言冒泡排序(解析) 运行结果:

  2. 冒泡排序c java c,冒泡排序,c语言冒泡排序法代码

    冒泡排序,c语言冒泡排序法代码 冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字 ...

  3. c语言冒泡排序法程序填空_【C语言】两种方式实现冒泡排序算法

    题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...

  4. C语言——冒泡排序法

    C语言--冒泡排序法 问题描述: 1, 3, 2, 6, 4, 5, 9, 8, 10, 7进行从小到大排序 代码: # include <stdio.h>int main() {int ...

  5. c语言冒泡排序字母排序,排序与查找之冒泡排序篇(C语言实现)

    在进行冒泡排序C语言实现之前,先介绍冒泡排序,只有真正理解了冒泡排序的算法,才能从本质上理解C语言的实现过程 冒泡排序原理: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法 ...

  6. C语言冒泡排序(起泡法)

    C语言冒泡排序(起泡法) 冒泡法排序是C语言中较简单的 排序算法 的 . 定义:它重复地走访过要排序的元素列,依次比较两个相邻的元素,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾.如此 ...

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

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

  8. TIA博途中实现冒泡排序的两种SCL语言算法

    TIA博途中实现冒泡排序的两种SCL语言算法 TIA博途软件版本:V15.0 首先新建一个项目(具体过程这里就不演示了),添加一个FC块(或FB块均可),编程语言选择SCL,如下图,在FC的块接口中, ...

  9. C语言——冒泡排序(分析详解)

    冒泡排序 文章目录 冒泡排序 排序算法的介绍 排序的分类 (1)内部排序: (2)外部排序法: [重点]冒泡排序 1.基本介绍 2.冒泡排序应用实例 3.分析冒泡的过程+代码 排序算法的介绍 排序也称 ...

  10. c语言—冒泡排序(详解)

    目录 一.了解冒泡排序 二.冒泡排序的实现 字符数组 算法实现 一.了解冒泡排序 冒泡排序(Bubble Sort):相比起二分法查找只能应用于有序数列,冒泡排序可以将无序数列变为有序数列:冒泡排序, ...

最新文章

  1. “金融与安全大数据”专题导读
  2. platform_device_add()函数分析
  3. MySQL比较两个表数据差异,在t2表而不在t1表的数据
  4. 突然想起今天的博客汇报没写
  5. abb机器人gsd文件_ABB机器人控制器死机故障维修
  6. windows10便签在哪,windows电脑版便签工具在哪里打开
  7. 天马行空 | 假如上网装X需要花钱?
  8. 微信小程序的购物车功能
  9. OLED的中英文和图片显示
  10. CiteSpace采用WOS导入文献数据分析(四)
  11. 如何看待培训机构出来的非科班程序员
  12. 什么是python自动化测试?
  13. Cisco Packet Tracer 超网(CIDR)设置实验
  14. 高权重网站站长之家,站长专栏申请暂时关闭了!
  15. Android钢琴滑动代码,真正完美的android钢琴软件
  16. react-native-calendars的使用
  17. 【Python-5】Conditionals Control Flow
  18. 计算机网络基础结构;对等网的特点;网络的扩大;网络的拓扑结构;
  19. idea springboot,maven项目注解,引用等飘红
  20. 三十七. geotrellis使用 COG 基础介绍

热门文章

  1. 【Python-3.5】matplotlib做简单折线图
  2. sqlserver 事务日志过大 收缩方法解决方案
  3. WebStorm光标经常自动变为块状解决方案
  4. Android Studio support 26.0.0-alpha1 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
  5. System.IO.FileNotFoundException 找不到指定的模块问题解决
  6. NestedScrollView、ScrollView 加载完自动滑动至底部问题的解决方案
  7. 检查丢失的软件包并安装它们的优雅方法?
  8. Bash脚本和/ bin / bash ^ M:错误的解释器:没有这样的文件或目录[重复]
  9. git merge和git merge --no-ff有什么区别?
  10. 我如何知道Bash脚本中的脚本文件名?