冒泡排序

严格按照定义写的代码:

void bubbleSort(int array[], int length)

{

    for (int i = 0; i < length; i++) {

        for (int j = 1; j < length - i; j++) {

            if (array[j-1] > array[j]) {

                swap(array[j-1], array[j]);

            }

        }

    }

}

void swap(int &a, int &b) {

    int temp = a;

    a = b;

    b = temp;

}

网络优化版

void bubbleSort(int array[], int length) {

    bool flag = true;//判断是否发生交换

    while (flag) {

        flag = false;

        for (int j = 1; j < length; j++) {

            if (array[j-1] > array[j]) {

                swap(array[j-1], array[j]);

                flag = true;

            }

        }

        length --;

    }

}

原文地址:https://www.cnblogs.com/huigee/p/9836676.html