【发布时间】:2014-09-27 06:11:22
【问题描述】:
我是初学者。这听起来可能很愚蠢,因为它是一个简单的算法。下面的程序编译成功,但是当我运行它时,它不会打印排序后的数组。代码在排序算法之前工作正常。然后它不打印排序后的数组。我究竟做错了什么?代码:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int n, i, k = -1;
cout << "Enter the number of elements: ";
cin >> n;
int arr[n];
cout << "Enter the elements to be sorted: ";
for (i = 0; i < n; i++)
{
cin >> arr[i];
}
cout << "The unsorted array: \n";
for(i = 0; i < n; i++)
{
cout << arr[i] << ' ';
}
cout << endl;
//BubbleSort.
for(int e = n-1; e > 0; --e)
{
for (i = 0; i > e; ++i)
{
if (arr[i] > arr[i + 1]) {
arr[i] = k;
arr[i] = arr[i + 1];
arr[i + 1] = k;
}
}
}
cout << "The sorted list: ";
for (int x = 0; x > n; ++x)
{
cout << arr[x] << ' ';
}
system("pause");
return 0;
}
【问题讨论】:
-
初学者不是不调试自己程序的借口
-
正如@Matt 所说,您需要学习如何调试程序。首先打印变量和检查点。如果您想更深入,请查看调试教程。
-
好的,好的!!!对于所有对我的第一句话有疑问的人。对不起。而且我一定会学会调试代码:p。有什么好看的教程吗? :D
标签: c++ algorithm bubble-sort