(这里我们以降序为例)
1.每一趟排序会把最小的那个数找出来,放在最后 ,共需要sz-1趟
2.(i从0开始,每次加1)从第i趟开始,每一趟需要比较sz-1-i次
代码:
#include<stdio.h>void bubble_sort(int arr[], int sz){int i = 0;int j = 0;for (i = 0; i < sz - 1; i++)//要排sz-1趟排序{for (j = 0; j < sz - 1 - i; j++)//每一趟排序要排sz-1-i次{if (arr[j] < arr[j + 1])//'<'为降序{int tmp = arr[j];//交换arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}}int main(){int arr[5]={1,12,6,45,5};//假设对这五个元素进行排序int sz = sizeof(arr) / sizeof(arr[0]);//计算出元素的个数bubble_sort(arr, sz);//调用排序函数return 0;}
如果觉得《(C语言)冒泡排序法(含代码)》对你有帮助,请点赞、收藏,并留下你的观点哦!