1. 冒泡排序原理说明
冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。
冒泡排序的原理是:重复扫描待排序序列,从左到右,比较每一对相邻的元素。每次比较一轮,就会找到序列中最大的一个或最小的一个元素,并对顺序不正确的元素进行交换。这个数就会从序列的最右边冒出来。
以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。
2. 详细代码如下:
#include <stdio.h>
void main()
{
int i,j,k,a[5]; //定义变量数组基本类型
printf("Please input numbers: ");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]); //从键盘输入要排序的数组
}
for(i=0;i<5;i++)
{
for(j=i+1;j<=4;j++)
{
if(a[i]>a[j]) //如果后一个数比前一个数大利用中间变量t实现俩值互换
{
t=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
printf("Please output numbers: ");
for(i=0;i<=4;i++)
{
printf("%-3d",a[i]);
}
printf("\n");
}
3. 代码运行结果如下: