冒泡排序

冒泡排序算法的时间复杂度为O(n*n),空间复杂度为O(1),是一种稳定的排序方法。

void SubbleSort(int *data, int length)
{
    if(data == NULL || length <=0 )
        return;

    bool exchange=false;
    for(int i = 0 ; i < length ; ++i)
    {
        exchange = false;
        for(int j = length-1; j >i ; --j)
        {
            if( data[j] < data[j-1] )
            {
                swap(data[j],data[j-1]);
                exchange = true;
            }
        }
        if( ! exchange)
            break;
    }
}

这里的 exchange是为了改善排序的效率

原文地址:https://www.cnblogs.com/neverleave/p/2951882.html