【发布时间】:2020-02-19 21:57:09
【问题描述】:
我得到了 4 个数字,我必须输入它们并使用冒泡排序将它们从低到高排序。 这是我目前用于冒泡排序的内容:
void bubble_sort()
{
for (int i=0;i<4;i++)
{
if(num[i]>num[i+1])
{
float temp;
temp=num[i+1];
num[i]=num[i+1];
num[i+1]=temp;
}
}
}
当我输出带有输入的数组时:3.72、3.92、3.46 和 3.86 我得到:3.72、3.46、3.46、0
【问题讨论】:
-
temp=num[i+1];==>temp=num[i];更好,std::swap(num[i], num[i+1]) -
您只是将数组的第一个值“冒泡”。要对整个数组进行排序,您需要将它们全部冒泡。
-
冒泡排序是 O(N^2) 这意味着它应该是循环中的循环
-
我强烈建议在互联网上搜索“c++ 冒泡排序示例”。在发布到 StackOverflow 之前始终进行搜索。
标签: c++ bubble-sort