排序之冒泡排序

冒泡排序应该是我接触的第一排序算法吧,初学C语言的时候就学了冒泡排序算法,现在做一下简单的记录。

冒泡排序的核心思想就是两两比较相邻元素来调整元素位置,是稳定排序,平均时间复杂度为Oleft ( n^{2} 
ight ),n为要排序的元素的个数,简单图示如下:

此处省略其他步骤...

冒泡排序算法的简单实现:

int bubbleSort(int *pArray, int len)    
{
    if (NULL == pArray || len < 1)
    {
        return 0;
    }
    for (int i = 0; i < len; i++)
    {
        for (int j = len - 2; j >= i; j--)
        {
            if (pArray[j] > pArray[j + 1])
	        {
	            pArray[j] += pArray[j + 1];
	            pArray[j + 1] = pArray[j] - pArray[j + 1];
	            pArray[j] = pArray[j] - pArray[j + 1];
	        }
	    }
    }
    return 1;
}

一图汗漫秋水阔,雁鸿排序投潇湘。

上善若水,为而不争。
原文地址:https://www.cnblogs.com/Bearoom/p/11721792.html