交换排序之“冒泡排序”(C++实现)

思路

冒泡排序的基本思路是通过相邻元素直接的比较和交换位置,使较小的元素如气泡一般逐渐往上漂浮。

实现

在冒泡排序中,但某一趟不出现任何元素交换时,说明已经排序好了,这时候可以结束算法
代码比较简单,便直接贴上来了

void bubbleSort(int R[], int n)
{
    int i, j;
    bool exchange;
    for (i = 0; i < n - 1; i++)
    {
        exchange = false;
        for (j = n - 1; j > i; j--)
        {
            if (R[j] < R[j - 1])
            {
                swap(R[j], R[j - 1]);
                exchange = true;
            }
        }
        if (!exchange)
            return;
    }
}

测试

int main()
{
    int R[] = { 4,8,9,7,1,3,2,4 };
    bubbleSort(R, 8);
    for (int i = 0; i < 8; i++)
    {
        cout << R[i] << " ";
    }
    return 0;
}

你可能感兴趣的:(交换排序之“冒泡排序”(C++实现))