C语言--冒泡排序法(详细注释)

     博主刚本科毕业,最近在写程序的时候要将10000个数据进行排序,因为是学控制方向的,之前也没接触过这么大数据量的排序,所以最先想起来的还是冒泡法,但发现颇为耗时。因此准备趁现在暑假,好好再复习复习一些基础算法,也为之后工作打好点基础。


     今晚是第一篇,还是上我最熟悉的冒泡排序了,之后学到更多的算法也会写在博客里,也会添加最浅显易懂的注释,一方面方便自己以后回顾,另一方面也方便大家互相交流学习。


十个整型数的冒泡法排序<由小到大> -- C语言

#include "stdio.h"

void main()
{ 
      int a[10]; 
      int i, j, temp; 

      // 输入10个整型数据 
      printf("Please input ten numbers: \n"); 
      for (i = 0; i < 10; i++) 
            scanf("%d", &a[i]); 

      // 排序 
      for (i = 0; i < 9; i++) // 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后 
      { 
            for (j = 0; j < 9 - i; j++) // 9 - i,意思是每当经过一轮冒泡后,就减少一次比较 
            if (a[j] > a[j+1]) 
            { 
                  temp = a[j]; 
                  a[j] = a[j+1]; 
                  a[j+1] = temp; 
            } 
      } 
  
      // 打印排序结果 
      for (i = 0; i < 10; i++) 
            printf("%d\n", a[i]); 
    
      return 0; 
}

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页