×

Sắp xếp mảng số nguyên giảm dần trong C# dễ dàng

Để sắp xếp một mảng số nguyên theo thứ tự giảm dần trong C#, bạn có thể sử dụng phương thức tích hợp sẵn Array.Sort() kết hợp với Array.Reverse(), hoặc bạn có thể tự triển khai thuật toán sắp xếp như Bubble Sort với thứ tự đảo ngược. Dưới đây là hai cách để thực hiện việc này.

Cách 1: Sử dụng Array.Sort()Array.Reverse()

using System;

class Program
{
    static void Main()
    {
        // Nhập vào một mảng số nguyên
        int[] numbers = { 34, 7, 23, 32, 5, 62 };

        // Sắp xếp mảng theo thứ tự tăng dần
        Array.Sort(numbers);

        // Đảo ngược mảng để có thứ tự giảm dần
        Array.Reverse(numbers);

        // In ra mảng đã sắp xếp
        Console.WriteLine("Mảng sau khi sắp xếp theo thứ tự giảm dần:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
    }
}

Cách 2: Sử dụng thuật toán Bubble Sort (Sắp xếp giảm dần)

using System;

class Program
{
    static void Main()
    {
        // Nhập vào một mảng số nguyên
        int[] numbers = { 34, 7, 23, 32, 5, 62 };

        // Sắp xếp mảng theo thứ tự giảm dần bằng Bubble Sort
        BubbleSortDescending(numbers);

        // In ra mảng đã sắp xếp
        Console.WriteLine("Mảng sau khi sắp xếp theo thứ tự giảm dần:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
    }

    static void BubbleSortDescending(int[] arr)
    {
        int n = arr.Length;
        for (int i = 0; i < n - 1; i++)
        {
            for (int j = 0; j < n - i - 1; j++)
            {
                if (arr[j] < arr[j + 1])
                {
                    // Hoán đổi nếu phần tử hiện tại nhỏ hơn phần tử tiếp theo
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
}

Giải thích:

  • Cách 1: Sử dụng Array.Sort()Array.Reverse()

    • Array.Sort(numbers);: Sắp xếp mảng numbers theo thứ tự tăng dần.
    • Array.Reverse(numbers);: Đảo ngược mảng đã được sắp xếp để có thứ tự giảm dần.
  • Cách 2: Sử dụng thuật toán Bubble Sort (Sắp xếp giảm dần)

    • if (arr[j] < arr[j + 1]): So sánh và hoán đổi hai phần tử nếu chúng không theo thứ tự giảm dần.
    • int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;: Thực hiện hoán đổi nếu cần.

Cách chạy chương trình:

  1. Sử dụng Visual Studio:
    • Mở Visual Studio.
    • Tạo một dự án mới: File -> New -> Project -> Chọn "Console App (.NET Core)" hoặc "Console App (.NET Framework)".
    • Sao chép và dán mã nguồn vào tệp Program.cs.
    • Nhấn nút "Start" hoặc "Run" để chạy chương trình.

Comments