(C语言)冒泡排序法
本题来自pintia.cn
- 题目要求
- 代码
- 测试结果
- PTA测试结果
题目要求
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。
本题要求对任意给定的K,输出扫描完第K遍后的中间结果数列。
输入格式:
输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。
输出格式:
在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格。
输入样例:
6 2
2 3 5 1 6 4
输出样例:
2 1 3 4 5 6
代码
#include<stdio.h>
int main()
{int n,k;//定义单元个数和扫描次数int t;//交换变量int i,j;//遍历参数scanf("%d %d",&n,&k); int a[n-1];//定义数组for(i=0;i<n;i++){scanf("%d",&a[i]);} //数组赋值for(i=0;i<k;i++){//扫描for(j=0;j<n-1-i;j++){//n-1-i意思是每次扫描完就去掉最大值减少一次比较if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}//如果前者大于后者,则交换位置}}for(i=0;i<n-1;i++){//这里采用i<n-1是因为用i<n时末尾也有空格不符合题目要求printf("%d ",a[i]);}printf("%d",a[n-1]);//数组最后一项单独输出return 0;
}
测试结果
测试软件为Dev C++
PTA测试结果
(C语言)冒泡排序法相关推荐
- 冒泡排序c java c,冒泡排序,c语言冒泡排序法代码
冒泡排序,c语言冒泡排序法代码 冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字 ...
- C语言——冒泡排序法
C语言--冒泡排序法 问题描述: 1, 3, 2, 6, 4, 5, 9, 8, 10, 7进行从小到大排序 代码: # include <stdio.h>int main() {int ...
- 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语言冒泡排序法程序填空_【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...
- 初识C语言——冒泡排序法
目录 1.什么是冒泡排序? 2.冒泡排序的原理 1.什么是冒泡排序? 冒泡排序是一种经典的排序方法,在一组数据中,访问两个相邻的元素,如果元素不符合顺序就把它们交换位置,符合的话就不用交换位置,依此类 ...
最新文章
- [原创]用命令行工具删除TFS2010服务器上的工作区信息
- Community Server系列之二:页面之间的关系1[介绍]
- iPhone开发环境搭建For PC
- python trim函数_python strip()函数 介绍
- VS2019 windows桌面应用_多邻国英语测试推出桌面应用程序,确保考试环境安全可靠...
- C++ 类型转换(强制类型转换)
- LIS(基于贪心的O(NlogN)解法)
- 有一个工程师男(女)朋友是什么样的体验?
- IT Library第4期《备份域升为主域控制器》
- 树莓派4B安装windows xp windows 95( windows xp windows 95 for raspberry pi 4B)
- html js中点击事件的三种方法
- 无盘服务器chkdsk *: /f)修复命令,让你的电脑运行更快点 使用CHKDSK/F磁盘修复命令...
- JAVA实现手机短信验证码在指定有效的时间里校验
- 【OpenGL ES】凸镜贴图
- 项目管理领域关键知识点之横道图和网络图
- ssh_init: Network error: Cannot assign requested address的解决办法
- 实现弹簧柔性状态的2种方式 | Solidworks教程
- Google OR-Tools(六) 装箱问题 Bin Packing
- 海尔集团CEO张瑞敏演讲稿:人不成熟的5大特征
- 9100cdn打印有色差_uv打印机出现色差的解决方法
热门文章
- iPhone 13基带曝光,苹果拼了
- 数据中心主机房 内部各部位装修材料防火等级A级 的溯源
- 数据库优化 - SQL优化
- 一些实用的电脑软件推荐
- CSS background-color、background-image、background-repeat、background-position、backgroundsize……
- 广州刷脸支付骗局_刷脸支付骗局!广州公安关于查处李振家等人涉嫌组织、领导传销活动案的通告...
- HIT-CSF2019 Hello的一生
- 将我理解的web3.0讲给你听
- Android 用一个监听器实现多个监听
- gitblit如何迁移入gitlab合并迁移_CentOS上安装GitBlit服务