【发布时间】:2014-09-13 18:49:26
【问题描述】:
我正在对一个 int 数组应用冒泡排序,它正在工作,但在控制台(输出)上我想要完全交换例如 int 数组:[3 2 5 4 1],所需的输出应该是:
2 3 5 4 1
2 3 4 5 1
2 3 4 1 5
2 3 1 4 5
最后是排序的 int 数组
1 2 3 4 5.
这是代码。
int[] b = { 3, 2, 5, 4, 1 };
int c;
for (int p = 0; p <= b.Length - 2; p++)
{
for (int i = 0; i <= b.Length - 2; i++)
{
if (b[i] > b[i + 1])
{
c = b[i + 1];
b[i + 1] = b[i];
b[i] = c;
}
}
}
foreach (int aa in b)
Console.Write(aa + " ");
Console.ReadLine();
【问题讨论】:
-
顺便说一句,您的算法效率不高,您的内部循环应该如下所示:
for(int i=0;i<=b.Length-p-1;i++)它会快一点。
标签: c#