bubblesort矢量逐行。整数C#

时间:2016-03-04 15:33:46

标签: c#

这是我应该在控制台中显示高分领导者的其他声明之一。数据来自我的包含整数字符串的文本文件。但我的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();
    }
}

任何可以告诉我我失踪的人吗?

1 个答案:

答案 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语句