气泡排序下降

时间:2015-11-03 23:11:59

标签: sorting bubble-sort

所以我想编写一个冒泡排序代码,按降序对随机数进行排序。这是我写的代码:

void BubbleSort(int data[], int size)
{
    for (int i = size - 1; i >= 0; i--)
    {
        for (int j = 0; j <=size-1; j++)
        {
            if (data[j] <data[j + 1])
            {
                swap(data[j], data[j+1]);
            }
        }
    }

}

交换的地方是:

void Swap(int &x, int &y)
{
   int temp = x;
   x = y;
   y = temp;
}

当我运行代码时,它不会对任何内容进行排序,它只是保持随机数与生成时的顺序相同。我不确定我的代码有什么问题,我试图在纸上追踪它并且效果很好;它可能是排序函数的东西吗?

编辑:我刚刚修复了外圈和内圈,但它还没有排序。

谢谢!

1 个答案:

答案 0 :(得分:2)

for (int i = size - 1; i < 0; i--)

我&lt; 0永远不会是真的,因为你从i&gt;开始0

将其更改为:

for (int i = size - 1; i >= 0; i--)