经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言重点难点解析—冒泡法排序
来源:cnblogs  作者:大天使维迦  时间:2021/1/11 9:42:04  对本文有异议

 


 

将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。

通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N?1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。

本题要求对任意给定的K(<N),输出扫描完第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

参考代码

如果你也想成为程序员,想要快速掌握编程,赶紧关注小编加入学习企鹅圈子吧!

里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

资料包含:编程入门、游戏编程、课程设计等。

免费学习书籍:


 

免费学习资料:


 
  1. #include<stdio.h>
  2.  
  3. int main()
  4.  
  5. {
  6.  
  7. int i,j,t,K,N;
  8.  
  9. scanf("%d%d",&K,&N);
  10.  
  11. int a[K];
  12.  
  13. for(i=0;i<K;i++)
  14.  
  15. {
  16.  
  17. scanf("%d",&a[i]);
  18.  
  19. }
  20.  
  21. for(i=0;i<N;i++)
  22.  
  23. {
  24.  
  25. for(j=0;j<K-i-1;j++)
  26.  
  27. {
  28.  
  29. if(a[j]>a[j+1])
  30.  
  31. {
  32.  
  33. t=a[j];
  34.  
  35. a[j]=a[j+1];
  36.  
  37. a[j+1]=t;
  38.  
  39. }
  40.  
  41. }
  42.  
  43. }
  44.  
  45. for(i=0;i<K-1;i++)
  46.  
  47. {
  48.  
  49. printf("%d ",a[i]);
  50.  
  51. }
  52.  
  53. printf("%d",a[K-1]);
  54.  
  55. return 0;
  56.  
  57. }

  

原文链接:http://www.cnblogs.com/zuishuaideou/p/14246417.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号