冒泡排序算法[C++] 拓荒者

  冒泡排序应该是最容易实现的一种排序算法了。其基本思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。以此类推,直至排序完成。

以下是我用C++实现的冒泡排序:

//冒泡排序
int* BubbleSort(int* ary, int length)
{
    int i, j, tmp;
    for(i=0; i<length-1; i++)
    {
        tmp = ary[i];
        
        for(j=length-1; j>i; j--)
        {
            //找到数组中最小的数,并交换
            if(tmp > ary[j])
            {
                ary[i] = ary[j];
                ary[j] = tmp;
                tmp = ary[i];
            }
        }
    }

    return ary;
}
原文地址:https://www.cnblogs.com/youring2/p/2548949.html