C语言——冒泡排序法

问题描述:

1, 3, 2, 6, 4, 5, 9, 8, 10, 7进行从小到大排序

代码:

# include <stdio.h>int main()
{int a[10] = {1, 3, 2, 6, 4, 5, 9, 8, 10, 7};int i, j, t, flag;do{for(i = 0; i < 9; ++i){for (j = 0; j < (9 - i); ++j){flag = 0;if(a[j] > a[j + 1]){t = a[j];a[j] = a[j + 1];a[j + 1] = t;j = flag;}    }}}while (flag > 1);for (i = 0; i < 10; ++i){printf("%d ", a[i]);}return 0;
}
----------------------------------
改进版
----------------------------------
# include <stdio.h>int main()
{int a[5];int max;int i;int j;int w = 0;  //  初始值为0,因为现在if处于未触发状态printf("请输入5个数进行排序!\n");for (i = 0; i < 5; ++i){scanf("%d", &a[i]);}for (i = 0; i < 4; ++i)  //  n个数排序外层的循环只需进行n-1次,因为当倒二个数排好时,最后一个数也排好了{for(j = 0; j < (4 - i); ++j)  //  n个数排序,单次循环最多只需排序n-1次,因为是两个数进行比较大小{w = 0;if (a[j] > a[j + 1])  {max = a[j];       a[j] = a[j + 1];a[j + 1] = max;w = 1;  //  1即if被触发}if (w == 0)  // w = 0表示这一轮内层循环,进行无效{break;}}}for(i = 0; i < 5; ++i)  //  要输出几个数,i便小于几,因为i是从0开始的{printf("%d ", a[i]);}printf("\n");return 0;
}

C语言——冒泡排序法相关推荐

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

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

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

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

  3. c语言冒泡排序项目总结,C语言冒泡排序法心得

    记得以前在大学里学习c语言的时候,刚开始是很吃力的. 入门级别的算法中有个叫冒泡排序法,也有称为气泡排序法.那时候刚接触它就对它的名字特别感兴趣,因为觉得很有意思.好了,废话不多说了,我们先一起简单回 ...

  4. c语言冒泡排序(c语言冒泡排序法详解)

    请讲解下C语言的冒泡排序法 冒泡法,就是通过多次循环排序的一种方法. 第一次循环,让最小(最大)的值浮到第一位, 第二次循环,让剩余的数字中最小(最大)浮到第二位 依次类推. 这种方法就像水泡上浮一样 ...

  5. C语言冒泡排序法,用函数形式实现。

    冒泡排序法 释疑:冒泡排序法是将数组中的元素依次从小到大(Also 从大到小)进行排序下来.请看如下操作! 共有4个数,如 2,4,1,3. 进行N-1次循环,每一次循环中需进行N-1-i 次交换 i ...

  6. c语言冒泡排序法6,C语言的冒泡排序法

    数字的排序: #include"stdafx.h" #include #define SIZE 10 int main() { int a[SIZE] = { 12 ,43,9,1 ...

  7. (C语言)冒泡排序法

    本题来自pintia.cn 题目要求 代码 测试结果 PTA测试结果 题目要求 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它 ...

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

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

  9. 初识C语言——冒泡排序法

    目录 1.什么是冒泡排序? 2.冒泡排序的原理 1.什么是冒泡排序? 冒泡排序是一种经典的排序方法,在一组数据中,访问两个相邻的元素,如果元素不符合顺序就把它们交换位置,符合的话就不用交换位置,依此类 ...

最新文章

  1. C# 如何实现pfx与snk密钥文件的转换
  2. 工作三年,我要如何提升Java技术 | 粉丝提问
  3. 渗透测试learning日记(1)
  4. android 根据文本计算行数,ios 获取Text行数和每行显示的内容
  5. 利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控
  6. 11. 盛最多水的容器 golang
  7. Sentinel底层LongAdder的计数实现
  8. 你需要了解的HashMap、HashTable和ConcurrentHashMap的区别
  9. 为什么软件最终都会变得很复杂?
  10. WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客
  11. 拼题a答案c语言计算整数各位数字之和,这是小白刷的基础题,跪求大佬帮忙!!!题目:读入一个自然数n...
  12. 使用JAVA实现语音朗读一段文本
  13. Swift - 设置UIView的背景色和背景图片
  14. ERwin Data Modeler数据库建模工具使用纪要
  15. 回归预测 | MATLAB实现GLM广义线性模型数据回归预测
  16. ACM常用数据结构小结与实现
  17. 计算机专业个税,税后工资个税计算器
  18. HTML5期末大作业:红酒销售网页网站设计——品牌红酒销售网页模板(4页) html网页设计期末大作业_网页设计平时作业
  19. Excel 获取工龄公式
  20. 经典垃圾收集器(三)

热门文章

  1. LA 3523 圆桌骑士
  2. apache开源项目--Apache Commons Imaging
  3. 阿里动物园新成员来了,10本书带你读懂这个新物种
  4. 图灵奖得主Bengio:深度学习让AI得以推理和想象,不会被取代
  5. 10本书,搞定这门全球1000万程序员在用的编程语言
  6. 关于数据预处理的7个重要知识点,全在这儿了!
  7. 超干货!为了让你彻底弄懂MySQL事务日志,我通宵肝出了这份图解!
  8. 排查 Linux 系统故障,看这一篇足够了。
  9. 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密
  10. docker安装nacos步骤