#include/** 冒泡算法就是相邻的两个值相比较,如果前面的值大于后面的值则交换两个值.每次比较并交换后从左向右依次步进一个记录.直到比较到最后一个元素.每进行一轮比较后最后一个元素就是最大值.0.初始时.i=0,即最小索引号.j=n-1,即最大索引号.因为是C语言的原因,索引号从0开始,1.如果i+1的值小于j,比较索引号i与索引号i+1里的值的大小,如果索引号i里的值比较大,则交换这两个索引号里的值.2.i值加上1,如果i==n-j-1,(j轮循环后最后j个值是已排序好的.)那么终止此轮循环,进入下一步,否则返回上一步.3.j++,如果j>=n,程序终止.(j是用来控制循环次数的.)否则让i=0,然后返回第一步,继续进行下一轮交换.*/void bubblesort(int a[],int n){ int i,j,f,x; //f用于标记是否发生了交换,如果没有就结束后面的冒泡循环轮. for(j=0;j a[i+1]){ //比较相邻的两个值,左边大于右边则交换 x=a[i]; a[i]=a[i+1]; a[i+1]=x; f=1; } } if(f==1) break; }}int main(){ int i; int a[]={ 12,0,25,36,99,85,64,26,77,39,19,99}; change(a,12); for(i=0;i<12;i++) printf("%d\t",a[i]); return 0;}输出结果: Output:0 12 19 25 26 36 39 64 77 85 99 99