冒泡排序就是把小的元素往前调或者把大的元素往后调。
比较是相邻的两个元素比较,交换也发生在这两个元素之间。
相同元素的前后顺序不会发生变化,冒泡法是一种稳定的排序算法。
例如:
inta[10]={3,7,2,4,5,8,9,0,6,1};
size_tn=sizeof(a)/sizeof(*a);
for(i=0;i<n-1;i++)//外层循环9次,每次有一个最大数沉底
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1]){
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
算法执行过程:
①3,2,4,5,7,8,0,6,1,9最大数到最后
②2,3,4,5,7,0,6,1,8,9次大数到最后
③2,3,4,5,0,6,1,7,8,9
④2,3,4,0,5,1,6,7,8,9
⑤2,3,0,4,1,5,6,7,8,9
⑥2,0,3,1,4,5,6,7,8,9
⑦0,2,1,3,4,5,6,7,8,9
⑧0,1,2,3,4,5,6,7,8,9