c#冒泡排序示例分享


当然,下面是一个简单的C#冒泡排序示例代码。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素,这意味着数列已经排序完成。


using System;

class Program
{
    static void Main()
    {
        int[] arr = { 64, 34, 25, 12, 22, 11, 90 };
        int n = arr.Length;

        Console.WriteLine("原始数组:");
        PrintArray(arr);

        // 冒泡排序
        for (int i = 0; i < n-1; i++)
            for (int j = 0; j < n-i-1; j++)
                if (arr[j] > arr[j+1])
                {
                    // 交换 arr[j] 和 arr[j+1]
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }

        Console.WriteLine("排序后的数组:");
        PrintArray(arr);
    }

    // 辅助函数,用于打印数组
    static void PrintArray(int[] arr)
    {
        foreach (var num in arr)
        {
            Console.Write(num + " ");
        }
        Console.WriteLine();
    }
}

在这个示例中,`Main` 方法首先定义了一个整数数组 `arr`,然后通过两层嵌套循环实现冒泡排序算法。内层循环负责将相邻的元素进行比较,并在需要时交换它们的位置。外层循环控制排序的轮数。最后,使用 `PrintArray` 辅助函数来打印排序前后的数组。