一、算法描述
- 在一遍遍历的时候把最大的数放到后面
- 几次遍历后后面就是排序好的
- 经过n-1次遍历
二、冒泡排序代码
void bubble(int a[],int n)
{
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
三、测试代码
#include<stdio.h>
void bubble(int a[],int n)
{
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
int main()
{
int n,i;
printf("请输入需要排序的数的个数:\n");
scanf("%d",&n);
int a[n];
printf("请输入需要排序的数:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
bubble(a,n);
printf("冒泡排序的结果:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}