【问题标题】:Bubble sort swapping (C#)冒泡排序交换 (C#)
【发布时间】: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&lt;=b.Length-p-1;i++) 它会快一点。

标签: c#


【解决方案1】:

像这样?

   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.WriteLine();
            }
        }
    }

    Console.ReadLine();

【讨论】:

    猜你喜欢
    • 2015-05-27
    • 2012-02-17
    • 2015-04-10
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2018-11-13
    相关资源
    最近更新 更多