所以我想编写一个冒泡排序代码,按降序对随机数进行排序。这是我写的代码:
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;
}
当我运行代码时,它不会对任何内容进行排序,它只是保持随机数与生成时的顺序相同。我不确定我的代码有什么问题,我试图在纸上追踪它并且效果很好;它可能是排序函数的东西吗?
编辑:我刚刚修复了外圈和内圈,但它还没有排序。
谢谢!
答案 0 :(得分:2)
for (int i = size - 1; i < 0; i--)
我&lt; 0永远不会是真的,因为你从i&gt;开始0
将其更改为:
for (int i = size - 1; i >= 0; i--)