冒泡排序法

作者 汪小祯 日期 2016-05-30
冒泡排序法

本文主要写排序算法中冒泡排序法的实现

排序原理:
我们假设有5个数
21 84 39 20 89
我们要按照从小到大进行排序
那么也就是数字越小越往后面 这句话是关键
21比84小那么往后移
84 21 39 20 89
21比39小 往后
84 39 21 20 89
21比20大 不动
20比89小 往后移
84 39 21 89 29
此时我们已近确保了最后一个数是最小的 这是第一轮
在第二轮同理 倒数第二个数是第二小的 以此类推 实现排序

#include<stdio.h>
int main()
{
int a[100],i,j,t,n;
scanf("%d",&n);//有n个数
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n-1;i++) //冒泡排序核心算法
for(j=1;j<=n-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=1;i<=n;i++) //输出结果
printf("%d ",a[i]);
}