首页 > 代码库 > 冒泡排序

冒泡排序

先上代码:

void BubbleSort(int *array, int length)
{
    int i,j,t;
    for(j=0; j<length-1; j++)
    {
        for(i=0;i<length-j-1;i++)
        {
            if(array[i] >= array[i+1])
            {
                t = array[i];
                array[i] = array[i+1];
                array[i+1] = t;
            }
        }
    }
}

对于一个长度为n的数组:

需要比较(n-1)n/2次,时间复杂度为 技术分享 

最好的情况下,不需要进行数组元素交换;最坏的情况下,需要进行(n-1)n/2次数组元素交换。

冒泡排序