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 }