【发布时间】:2018-10-31 01:33:27
【问题描述】:
我看过一个关于对数组进行冒泡排序的教程。
这是使用的代码:
int main()
{
int numbers[5];
int asc;
//input 5 integers
cout << "Enter 5 Numbers : \n";
for (int i = 0; i < 5; ++i) {
cin >> numbers[i];
}
for (int i = 0; i < 5; ++i) // outer loop
{
for (int a = i + 1; a < 5; ++a) // inner loop
{
if (numbers[i] > numbers[a])
{
asc = numbers[i];
numbers[i] = numbers[a]; // swapping
numbers[a] = asc;
}
}
}
cout << endl << "Ascending Order : ";
for (int i = 0; i < 5; ++i)
{
cout << numbers[i] << " ";
}
return 0;
}
我试图理解每一行,但我被困在外循环、内循环和 SWAPPING 部分,我对那部分有点困惑。
有什么帮助吗?提前致谢!
【问题讨论】:
-
我想你不会在这里真正找到答案......如果你对这个概念感到困惑,我会查找 Bubble sort 的视觉视频。
-
什么,确实,你不明白吗?在不知道您不清楚的情况下,我们可能会解释您已经知道的事情,而不会消除您的困惑。
-
您是想了解这段代码还是想了解冒泡排序的工作原理?如果您想了解该算法,这里有很多视频和教程 - 这是来自维基百科的示例:en.wikipedia.org/wiki/Bubble_sort#Step-by-step_example 这是一个显示相同类型的视频:youtube.com/watch?v=nmhjrI-aW5o
标签: c++ bubble-sort