C语言成长之路47:冒泡排序法

声明:本笔记基于 B站UP主「来自程序员的暴击」的 「C语言成长之路」中对应课程;


 具体的一些思路可以看上一次的笔记,直接上代码:

 1 void bubbleSort(){
 2     /*  冒泡排序法  */
 3     int a[5] = {1,623,55,2,113};
 4     int a_size = sizeof(a) / 4;                     //  a_size用于求出数组的长度
 5     for (int i = 0;i < a_size - 1;i++){             //  由于数组的元素数量是a_size个,所以需要循环a_size - 1次
 6         for (int j = 0;j < a_size - 1 - i;j++){     //  由于每一次内层循环到最后都能定出一个最大值,而从第二次新欢开始
 7             if (a[j] > a[j + 1]){                   //  就已经确定好数组内最后一个元素是最大值,为了节省算法时间
 8                 int temp = a[j + 1];                //  所以减去大循环已循环的次数_size - 1 - i
 9                 a[j + 1] = a[j];
10                 a[j] = temp;
11             }
12         }
13     }
14     for (int i = 0;i < a_size;i++){
15         printf("a[%d] = %d\n",i,a[i]);
16     }
17 }

 

posted @ 2020-08-13 16:32  Akne  阅读(121)  评论(0编辑  收藏  举报