Пример программы сортировки Comb Sort на C#

В этом примере мы обсудим алгоритм сортировки Comb Sort на C#

Гребенчатая сортировка-это алгоритм сортировки, и это вариант пузырьковой сортировки, гребенчатая сортировка увеличивает зазор, используемый в сравнениях и обменах.

Сортировка гребнем улучшает сортировку пузырьковой.

Основная идея состоит в том, чтобы исключить замедления или небольшие значения в конце списка, так как в пузырьковой сортировке они сильно замедляют сортировку.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CombSort
{
    class Program
    {
        public static void CombSort(ref int[] data)
        {
            double gap = data.Length;
            bool swaps = true;

            while (gap > 1 || swaps)
            {
                gap /= 1.247330950103979;

                if (gap < 1)
                    gap = 1;

                int i = 0;
                swaps = false;

                while (i + gap < data.Length)
                {
                    int igap = i + (int)gap;

                    if (data[i] > data[igap])
                    {
                        int temp = data[i];
                        data[i] = data[igap];
                        data[igap] = temp;
                        swaps = true;
                    }

                    ++i;
                }
            }
        }
        static void Main(string[] args)
        {
            int[] mass = { 2, 5, 1, 10, 6, 9, 3, 7, 4, 8 };
            CombSort(ref mass);
            foreach(var sortMass in mass)
            Console.WriteLine(sortMass);
            Console.ReadKey();
        }
    }
}

 

Вывод:

1
2
3
4
5
6
7
8
9
10

Обновлено: 07.01.2020 — 13:15

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.