冒泡排序法: 从大到小、从小到大。
其实是几个for循环的使用!!!
用几个数字来推概念;
e.g: 12,8,13,9
#include <stdio.h>
// 冒泡排序法
int main()
{
int array[]={12, 8, 13, 9};
int i;
int j;
int tmp;
int len = sizeof(array)/sizeof(array[0]); // 获取数组的长度
for(i=0;i<len-1;i++){
for(j=0;j<len-1-i;j++){
if(array[j]<array[j+1]){
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
// 输出数组
for(i=0;i<len;i++){
printf("%d ", array[i]);
}
return 0;
}
结果:
主要是确定好 i,j 和 循环次数与数组长度len的关系即可解决