×

Sắp xếp mảng số nguyên bằng thuật toán Bubble Sort trong C#

Để viết thuật toán Bubble Sort để sắp xếp một mảng số nguyên trong C#, bạn có thể làm theo các bước sau:

  1. Khởi tạo mảng: Tạo một mảng số nguyên cần được sắp xếp.
  2. Thuật toán Bubble Sort: Thực hiện các bước của thuật toán Bubble Sort để sắp xếp mảng.

Thuật toán Bubble Sort

Bubble Sort là một thuật toán sắp xếp đơn giản so sánh từng cặp phần tử liên tiếp và hoán đổi chúng nếu chúng không theo thứ tự. Quá trình này được lặp lại cho đến khi mảng được sắp xếp.

Code C# cho Bubble Sort

using System;

public class BubbleSortExample
{
    // Phương thức để thực hiện Bubble Sort
    public static void BubbleSort(int[] array)
    {
        int n = array.Length;
        for (int i = 0; i < n - 1; i++)
        {
            for (int j = 0; j < n - i - 1; j++)
            {
                // Nếu phần tử hiện tại lớn hơn phần tử kế tiếp, hoán đổi chúng
                if (array[j] > array[j + 1])
                {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
    }

    // Phương thức để in mảng ra console
    public static void PrintArray(int[] array)
    {
        foreach (int item in array)
        {
            Console.Write(item + " ");
        }
        Console.WriteLine();
    }

    public static void Main(string[] args)
    {
        // Tạo một mảng số nguyên
        int[] numbers = { 64, 34, 25, 12, 22, 11, 90 };

        Console.WriteLine("Mảng trước khi sắp xếp:");
        PrintArray(numbers);

        // Gọi phương thức BubbleSort để sắp xếp mảng
        BubbleSort(numbers);

        Console.WriteLine("Mảng sau khi sắp xếp:");
        PrintArray(numbers);
    }
}

Giải thích

  1. Khởi tạo mảng:

    int[] numbers = { 64, 34, 25, 12, 22, 11, 90 };
    
  2. Phương thức BubbleSort:

    • n là độ dài của mảng.
    • Vòng lặp ngoài lặp qua từng phần tử của mảng.
    • Vòng lặp trong lặp qua các phần tử chưa được sắp xếp và so sánh từng cặp phần tử liên tiếp.
    • Nếu phần tử hiện tại lớn hơn phần tử kế tiếp, chúng sẽ được hoán đổi.
  3. Phương thức PrintArray:

    • In từng phần tử của mảng ra console.
  4. Trong phương thức Main:

    • Mảng ban đầu được in ra.
    • Gọi phương thức BubbleSort để sắp xếp mảng.
    • Mảng sau khi sắp xếp được in ra.

Kết quả khi chạy chương trình

Khi chạy chương trình, bạn sẽ thấy mảng được in ra trước và sau khi sắp xếp:

Mảng trước khi sắp xếp:
64 34 25 12 22 11 90 
Mảng sau khi sắp xếp:
11 12 22 25 34 64 90 

Comments