文章目录
- 例题
- 一、冒泡排序是什么?
- 二、解题思路及过程
- 1.算法思路
- 2.读入数据(代码部分)
- 总结
例题:
愚人节这天,灰太狼为了给红太狼惊喜,研发出了羊羊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; }
总结
好了,以上就是今天要讲的内容,本文简单介绍了冒泡排序法的原理,能够快速的将数据排好顺序,是很好掌握的一个排序算法,各位小伙伴看懂了吗,没看懂的话,评论区等你留言,小编若见,速速赶来!