冒泡排序是最经典最简单的排序算法,搞懂思想就好
1:两两比较,如果前面数字大于后面数字,则交换两个数字,如果小于,则前面的数字跳过下面的这个数字,继续比较,一直到结尾
2:经过第一步,最大的数字就在最后面了
3:比较N-1次(N为数组长度),即可得出从小到大的顺序
1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 // insert code here... 5 //冒泡排序 6 int nums[]={1,9,7,13,4,6,3,675};//先定义一个数组,乱序 7 int len=sizeof(nums)/sizeof(int);//算出数组元素的个数 8 for(int i=0;i<len-1;i++)//外层循环控制比较的次数,共比较 len-1 次 9 { 10 for(int j=0;j<len-1;j++)//内层循环是控制每一个数字开始比较的次数(两两之间) 11 { 12 if(nums[j]>nums[j+1])//假如前面的数字大于后面的数字,则交换,这个最终的结果是从小到大 13 { 14 int temp; 15 temp=nums[j]; 16 nums[j]=nums[j+1]; 17 nums[j+1]=temp; 18 } 19 } 20 } 21 for(int l=0;l<len;l++)//输出数组每个元素的值 22 { 23 printf("%d ",nums[l]); 24 } 25 26 return 0; 27 }