【每日一题】冒泡排序法——灰太狼吃羊羊

文章目录


例题:

       愚人节这天,灰太狼为了给红太狼惊喜,研发出了羊羊3D打印仪,能够利用青草打印出小羊们的模样,于是,灰太狼历经磨难,取来了喜羊羊,懒洋洋,美羊羊,费羊羊,暖羊羊的毛发。利用这些毛发,他打印出了羊羊们,并叫来了红太狼,红太狼很高兴,认为最肥美的羊应该先食用,就和灰太狼商量着从肥到瘦的顺序开始吃。请你设计一个算法,随机输入小羊们的体重,并按降序将其输出。


提示:以下是本篇文章正文内容,下面案例可供参考

一、冒泡排序是什么?

冒泡排序(Bubble Sort),是一种计算机领域的较简单的排序算法

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、或从小到大)就依次走下去,错误就把他们的值交换过来,使其保持顺序。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

二、使用步骤

1.代码

思路:有五只小羊,定义一个具有五个存储空间的数组,随机输入五个小羊的体重,从第一只小羊开始,用前一只小羊的的体重比较后一只小羊的体重,若前一只小羊更轻,则将两只小羊的位置交换,轻的放在后面,重的放在前面,若前一只更重,则位置保持不变,比较下一对小羊,依次类推。

代码如下(示例):

#include<stdio.h>int main(){    int a[5];                           //定义具有五个存储单元的数组    int i,j,k,t;    printf("input 5 numbers:
");    for(i = 0;i < 5; i++)    {      scanf("%d",&a[i]);                //依次输入体重数据    }    printf("
");    for(j=0;j<4;j++)                    //数据交换位置    {        for(k=0;k<4-j;k++)     {            if(a[k]<=a[k+1])                    {            t=a[k];            a[k]=a[k+1];            a[k+1]=t;        }     }        }    printf("the sorted numbers :
");        for(i=0;i<5;i++)               //依次将数组内的元素一一输出        {            printf("%d ",a[i]);        }        printf("
");    return 0; }

 


总结

        好了,以上就是今天要讲的内容,本文简单介绍了冒泡排序法的原理,能够快速的将数据排好顺序,是很好掌握的一个排序算法,各位小伙伴看懂了吗,没看懂的话,评论区等你留言,小编若见,速速赶来!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值