这是我应该在控制台中显示高分领导者的其他声明之一。数据来自我的包含整数字符串的文本文件。但我的bubblesort似乎没有在控制台中显示任何内容。它直接迭代回到meny。你能不能找出我可能错过的东西?
else if (menu == 2)
{
string[] allLines = System.IO.File.ReadAllLines(@"C:\temp\Highscore.txt");
string temp;
string scoret;
for (int i = 0; i < allLines.Length - 1; i++)
{
for (int j = i + 1; j < allLines.Length - 1; j++)
{
allLines[i] = string.Copy(allLines[j]);
if (allLines[i].CompareTo(allLines[j + 1]) > 0)
{
temp = allLines[j];
allLines[j] = allLines[i];
allLines[i] = Convert.ToString(temp);
}
Console.WriteLine(allLines[i]);
}
Console.WriteLine(allLines[allLines.Length - 1]);
Console.ReadLine();
}
}
任何可以告诉我我失踪的人吗?
答案 0 :(得分:1)
你的循环看起来很奇怪,就像我在你对帖子的评论中所说的那样(关于你的索引)。
我在LinqPad 4中做过这个,我认为你想要的是什么?
void Main()
{
string[] allLines = {"Test", "Apple", "FishBowl", "Candy Cane", "Martini", "Husky"};
for (int i = 0; i < allLines.Length - 1; i++)
{
for (int j = i + 1; j < allLines.Length; j++)
{
// allLines[i] = string.Copy(allLines[j]);
if (allLines[i].CompareTo(allLines[j]) > 0)
{
string temp = allLines[i];
allLines[i] = allLines[j];
allLines[j] = temp;
}
}
}
Console.WriteLine(allLines);
}
注意更改的循环和索引。
另外,删除ReadLine语句