冒泡排序(C语言)
原理
数组中从第一个元素开始,两两比较,如果第一个数比第二个数大,则第一个数与第二个数交换位置,然后第二个数与第三个数比较......,直到数组中元素按从小到大的顺序排好。一趟走完,数组最后一个数一定是最大值,所以如果数组有5个元素,则需要排4趟,n个元素需要排n-1趟,每一趟的比较次数依次减少,第一趟比较4次,第二趟比较3次......所以使用for循环嵌套,利用i的依次减少,实现每趟的比较。
代码
#include<stdio.h>
int main(){
int a[]={55,12,60,74,52};
int temp;
for(int i=4;i>0;i--){
for(int j=0;j<i;j++){
if(a[j]>a[j+1]){
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int k=0;k<5;k++){
printf("%d\n",a[k]);
}
return 0;
}