冒泡排序的核心思想是:依次将相邻的两个数进行比较,将不按照规定顺序排列的数进行交换。对n个数排序需要循环n-1趟,每一趟循环都从第一个数开始比较相邻的两个数,将较小的数换到前面,较大的数换到后面。但是它每一趟只能将一个数字归位。
void bubble(int a[],int n)
{
int i,j;
for(i=1;i<=n-1;i++) //n个数排序,进行n-1趟排序
{
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;
}
}
}
}