C语言——冒泡排序法
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语言——冒泡排序法相关推荐
- 冒泡排序c java c,冒泡排序,c语言冒泡排序法代码
冒泡排序,c语言冒泡排序法代码 冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字 ...
- c语言冒泡排序法代码(c语言冒泡排序法代码讲解)
求一个C语言冒泡排序法的简单程序怎么办? 下一趟排序开始时,R[1..lastExchange-1]是有序区,R[lastExchange..n]是无序区.这样,一趟排序可能使当前有序区扩充多个记录, ...
- c语言冒泡排序项目总结,C语言冒泡排序法心得
记得以前在大学里学习c语言的时候,刚开始是很吃力的. 入门级别的算法中有个叫冒泡排序法,也有称为气泡排序法.那时候刚接触它就对它的名字特别感兴趣,因为觉得很有意思.好了,废话不多说了,我们先一起简单回 ...
- c语言冒泡排序(c语言冒泡排序法详解)
请讲解下C语言的冒泡排序法 冒泡法,就是通过多次循环排序的一种方法. 第一次循环,让最小(最大)的值浮到第一位, 第二次循环,让剩余的数字中最小(最大)浮到第二位 依次类推. 这种方法就像水泡上浮一样 ...
- C语言冒泡排序法,用函数形式实现。
冒泡排序法 释疑:冒泡排序法是将数组中的元素依次从小到大(Also 从大到小)进行排序下来.请看如下操作! 共有4个数,如 2,4,1,3. 进行N-1次循环,每一次循环中需进行N-1-i 次交换 i ...
- c语言冒泡排序法6,C语言的冒泡排序法
数字的排序: #include"stdafx.h" #include #define SIZE 10 int main() { int a[SIZE] = { 12 ,43,9,1 ...
- (C语言)冒泡排序法
本题来自pintia.cn 题目要求 代码 测试结果 PTA测试结果 题目要求 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它 ...
- c语言冒泡排序法程序填空_【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...
- 初识C语言——冒泡排序法
目录 1.什么是冒泡排序? 2.冒泡排序的原理 1.什么是冒泡排序? 冒泡排序是一种经典的排序方法,在一组数据中,访问两个相邻的元素,如果元素不符合顺序就把它们交换位置,符合的话就不用交换位置,依此类 ...
最新文章
- C# 如何实现pfx与snk密钥文件的转换
- 工作三年,我要如何提升Java技术 | 粉丝提问
- 渗透测试learning日记(1)
- android 根据文本计算行数,ios 获取Text行数和每行显示的内容
- 利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控
- 11. 盛最多水的容器 golang
- Sentinel底层LongAdder的计数实现
- 你需要了解的HashMap、HashTable和ConcurrentHashMap的区别
- 为什么软件最终都会变得很复杂?
- WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客
- 拼题a答案c语言计算整数各位数字之和,这是小白刷的基础题,跪求大佬帮忙!!!题目:读入一个自然数n...
- 使用JAVA实现语音朗读一段文本
- Swift - 设置UIView的背景色和背景图片
- ERwin Data Modeler数据库建模工具使用纪要
- 回归预测 | MATLAB实现GLM广义线性模型数据回归预测
- ACM常用数据结构小结与实现
- 计算机专业个税,税后工资个税计算器
- HTML5期末大作业:红酒销售网页网站设计——品牌红酒销售网页模板(4页) html网页设计期末大作业_网页设计平时作业
- Excel 获取工龄公式
- 经典垃圾收集器(三)