C#数组排序说明

时间:2018-12-25 05:35:36

标签: c# sorting

有人可以在遍历所有索引后在此解释for循环的工作原理。我不了解for循环如何一次又一次地工作,直到对所有数字进行排序。

class Program
{
    static void Main(string[] args)
    {
        int[] arr = new int[] {9,1,6,3,7,2,4};
        int temp = 0;

        for (int i = 0; i < arr.Length; i++)
        {
            for (int j = i + 1; j < arr.Length;j++)
            {
                if(arr[i]>arr[j])
                {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }

            Console.Write(arr[i]+",");
        }
             Console.ReadLine();
    }

1 个答案:

答案 0 :(得分:1)

这是气泡排序。在这里,您可以按升序对数组进行排序。为此,您可以将index元素与数组中的所有其他元素进行比较,并确保index元素位于最小的元素中。

假设数组只有4个元素:-

9,1,6,3

迭代1将为:-

  1. 将索引元素发送为9
  2. 比较索引元素(9)与第二个元素(1)
  3. 交换索引元素(9)和第二个元素(1),因为第二个元素较小
  4. 新数组是1,9,6,3
  5. 比较索引元素(1)和第三个元素(6)
  6. 什么都不做
  7. 比较索引元素(1)和第4个元素(3)
  8. 什么都不做
  9. 数组为1,9,6,3

迭代2将为:-

  1. 将索引元素设置为9
  2. 比较索引元素(9)与第三个元素(6)
  3. 交换索引元素(9)和第3个元素(6),因为第3个元素较小
  4. 新数组是1,6,9,3
  5. 将索引元素(6)与第四个元素(3)进行比较
  6. 交换索引元素(9)和第4个元素(6),因为第4个元素较小
  7. 数组为1,3,9,6

迭代3将为:-

  1. 将索引元素设置为9
  2. 将索引元素(9)与第四个元素(6)进行比较
  3. 交换索引元素(9)和第4个元素(6),因为第4个元素较小
  4. 新数组是1,3,6,9

现在数组已排序。