Сортування бульбашкою

Сортування бульбашкою (bubble sort) - один з найпростіших для розуміння методів сортування масивів.

Опис алгоритму сортування бульбашкою

Алгоритм полягає в циклічних проходах по масиву, за кожен прохід елементи масиву попарно порівнюються і, якщо їх порядок неправильний, то здійснюється обмін. Обхід масиву повторюється до тих пір, поки масив не буде впорядкований.

Реалізація сортування бульбашкою

using System;

class Program
{
    //метод обміну елементів
    static void Swap(ref int e1, ref int e2)
    {
        var temp = e1;
        e1 = e2;
        e2 = temp;
    }

    //сортування бульбашкою
    static int[] BubbleSort(int[] array)
    {
        var len = array.Length;
        for (var i = 1; i < len; i++)
        {
            for (var j = 0; j < len - i; j++)
            {
                if (array[j] > array[j + 1])
                {
                    Swap(ref array[j], ref array[j + 1]);
                }
            }
        }

        return array;
    }

    static void Main(string[] args)
    {
        Console.WriteLine("Сортування бульбашкою");
        Console.Write("Введіть елементи масиву: ");
        var parts = Console.ReadLine().Split(new[] { " ", ",", ";" }, StringSplitOptions.RemoveEmptyEntries);
        var array = new int[parts.Length];
        for (int i = 0; i < parts.Length; i++)
        {
            array[i] = Convert.ToInt32(parts[i]);
        }

        Console.WriteLine("Відсортований масив: {0}", string.Join(", ", BubbleSort(array)));

        Console.ReadLine();
    }
}

Результат роботи програми:

Дивіться також: