c#怎么通过冒泡排序法对数组进行排序?

济南云服务器 2025年3月2日06:28:30C#教程c#怎么通过冒泡排序法对数组进行排序?已关闭评论151阅读模式

首先,系统随机生成一个一维数组,并将其打印到控制台。然后询问用户是否要对该数组进行冒泡排序,如果用户选择是,则执行冒泡排序算法并打印排序后的数组。

关键代码:

static void Main(string[] args)
    {
        Random rand = new Random();
        int[] array = new int[10]; // 假设数组长度为10

        // 随机填充数组
        for (int i = 0; i < array.Length; i++)
        {
            array[i] = rand.Next(0, 100); // 数字范围0-99
        }

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

        Console.Write("是否要对数组进行冒泡排序?(y/n): ");
        string response = Console.ReadLine();

        if(response.ToLower() == "y")
        {
            BubbleSort(array);
            Console.WriteLine("排序后的数组:");
            PrintArray(array);
        }
        else
        {
            Console.WriteLine("未执行排序。");
        }
    }

    static void BubbleSort(int[] arr)
    {
        int n = arr.Length;
        bool swapped;
        for (int i = 0; i < n - 1; i++)
        {
            swapped = false;
            for (int j = 0; j < n - i - 1; j++)
            {
                if (arr[j] > arr[j + 1])
                {
                    // 交换元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            // 如果没有发生交换,说明数组已经有序,提前结束
            if (!swapped) break;
        }
    }

    static void PrintArray(int[] arr)
    {
        foreach (var item in arr)
        {
            Console.Write(item + " ");
        }
        Console.WriteLine();
    }

济南云服务器
  • 本文由 发表于 2025年3月2日06:28:30
  • 转载请务必保留本文链接:http://news.hcsw666.com/2028