void bubble (int a[ ],int n)
{
int i,j,t;
for(i=1;i<n;i++) \\排序(大循环)次数为n-1(n为数的个数)
for(j=0;j<n-i;j++) \\比较次数为n-i
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
自定义函数bubble为冒泡排序主程序。
冒泡排序原理:比较相邻两个数的大小,如果前一个数大,则交换。
如
7 3 66 3 -5
第一次循环过后:
3 7 3 -5 66
第二次循环过后:
3 3 -5 7 66
………………
原理与选择排序差不多,每次冒泡排序找出数最大的,后移至相对于此次循环中的最后一位,接下来的排序(循环)中,又开始寻找剩下数的最大值,移至相对于此次循环中的最后一位,以此类推。