1. /*
    2. 冒泡排序:
    3. 依次比较两相邻的元素值,逆序则交换
    4. */
    5. #include <stdio.h>
    6. #include <stdlib.h>
    7. void bubbleSort(int *arr, int len) {
    8. for (int i = 0; i < len - 1; i++) {//只需要len-1趟遍历
    9. int flag = 0;//标志本轮是否有操作
    10. for (int j = 0; j < len - 1; j++) {
    11. int tmp;
    12. if (arr[j] > arr[j + 1]) {//逆序则交换
    13. tmp = arr[j];
    14. arr[j] = arr[j + 1];
    15. arr[j + 1] = tmp;
    16. flag = 1;
    17. }
    18. }
    19. if (!flag) {
    20. break;
    21. }
    22. }
    23. }
    24. int main() {
    25. int arr[10] = { 9,3,4,10,8,5,7,12,10,15 };
    26. bubbleSort(arr, 10);
    27. return 0;
    28. }