当前位置:   article > 正文

【C语言】冒泡法排序_冒泡排序法c语言代码

冒泡排序法c语言代码

哈喽!

大家好,我们今天结束C语言期末考试

不知道各位同学考完了没呢?

由于在考试前依然有很多同学不清楚冒泡法怎么用

这期我专门整理了一下冒泡法的用法,

供大家参考哦!

我们先来看一下源代码:

  1. // 冒泡法对数字进行排序
  2. #include<stdio.h>
  3. int main() {
  4. int a[10],i,j,t;
  5. printf("请输入10个数字,数字中间用空格隔开:\n"); // 输出给用户提示信息
  6. for(i=0;i<=9;i++)
  7. scanf("%d",&a[i]);
  8. for(i=0;i<9;i++) // 排序过程
  9. for(j=0;j<9-i;j++)
  10. if(a[j]>a[j+1]) {
  11. t=a[j];
  12. a[j]=a[j+1];
  13. a[j+1]=t;
  14. }
  15. printf("排序后的结果是:\n"); // 提示输出
  16. for(i=0;i<=9;i++)
  17. printf("%d\t",a[i]);
  18. return 0;
  19. }

从代码中我们可以发现,除去输入输出数组语句外,

并没有多少代码了,

冒泡法的原理就是:

假设将10个数从小到大排列,

相邻两个数比较,如果发现前一项比后一项大,那么这两项

就互换,之后再两两相比,这样比较一轮下来,

我们就可以得到一个最大值。

需要排十个数,外循环就是i=0~i=8,9次即可

  1. for(i=0;i<9;i++) {
  2. for(j=0;j<9-i;j++)
  3. if(a[j]>a[j+1]) {
  4. t=a[j];
  5. a[j]=a[j+1];
  6. a[j+1]=t;
  7. }
  8. }

下面是运行结果图:

b09bc76c78af43848022ac8121a626e2.png

当然,我们还可以将代码加以改进,比如自定义函数:

  1. // 升级版----调用函数使用冒泡法
  2. #include<stdio.h>
  3. void fun(int a[]); //声明使用冒泡法排序的函数
  4. int main() {
  5. int a[10],i;
  6. printf("请输入10个数字,数字中间用空格隔开:\n"); // 输出给用户提示信息
  7. for(i=0;i<=9;i++)
  8. scanf("%d",&a[i]); // 在这里输入10个要排序的数字
  9. fun(a); // 调用函数
  10. printf("排序后的结果是:\n"); // 提示输出
  11. for(i=0;i<=9;i++)
  12. printf("%d\t",a[i]); // 输出排好序后的10个数字
  13. return 0;
  14. }
  15. // 函数体
  16. void fun(int a[]) {
  17. int t,i,j;
  18. for(i=0;i<9;i++) // 排序过程
  19. for(j=0;j<9-i;j++)
  20. if(a[j]>a[j+1]) {
  21. t=a[j];
  22. a[j]=a[j+1];
  23. a[j+1]=t;
  24. }
  25. }

下面是运行结果图:

097ff8ade97b4658a52256fab790d8e8.png

就到这里吧!我们下期见,拜拜~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/417353
推荐阅读
相关标签
  

闽ICP备14008679号