1,两两相邻比较。
2,比较n-1次。
3,从下往上两两比较。
//排序算法之冒泡排序
#include <stdio.h>
#define N 100
/*选择排序
void BubbleSort(int k[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)//比较次数
{
for(j=i+1;j<n;j++)//从下一个个开始到最后依次比较
{
if(k[i]>k[j])//比较后依次交换a[i]和a[i+1~n];
{
temp=k[i];
k[i]=k[j];
k[j]=temp;
}
}
}
}*/
//冒泡排序
void BubbleSort(int k[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)//比较次数
{
for(j=n-1;j>i;j--)//从下一个开始到最后依次比较
{
if(k[j-1]>k[j])//比较后依次交换a[j]和a[j-1];
{
temp=k[j-1];
k[j-1]=k[j];
k[j]=temp;
}
}
}
}
int main()
{
int a[N],i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
BubbleSort(a,i);//冒泡排序函数
printf("排序后的结果:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}