我创建了一个名为place的数组,并用1到100的随机数填充所有100个索引并在数组上运行bubblesort。当我想在控制台中打印时,它什么都没有。一切都是空白的。记住,我对C#和一般的编程都很陌生,所以如果你能告诉我为什么这个东西不能打印我的排序数组,我将不胜感激。
static void Main(string[] args)
{
Random random = new Random();
int[] place = new int[100];
int spot = random.Next(1, 101);
for (int i = 0; i < place.Length; i++)
{
spot = random.Next(1, 101);
place[i] = spot;
}
for (int i = 0; i <= place.Length; i++)
{
for (int j = 0; j < place.Length - 1; i++)
{
if (place[j] > place[j + 1])
{
int temp = place[j + 1];
place[j + 1] = place[j];
place[j] = temp;
}
}
Console.WriteLine(place[i]);
}
Console.ReadKey();
}
答案 0 :(得分:0)
你有两个拼写错误:
for (int i = 0; i < place.Length; i++) // should be <, not <= (throws exception)
{
for (int j = 0; j < place.Length - 1; j++) // should be j++ instead of i++
{
if (place[j] > place[j + 1])
{
int temp = place[j + 1];
place[j + 1] = place[j];
place[j] = temp;
}
}
Console.WriteLine(place[i]); // is it necessary?
}
Console.WriteLine();
for (int i = 0; i < place.Length; i++)
{
Console.WriteLine(place[i]);
}
我还添加了打印整个数组的代码,以查看此排序是否有效(并且确实如此)。