кодесурса
«C #

Алгоритм поиска и сортировки C # Sharp: быстрая сортировка

script1adsense2code
script1adsense3code

Алгоритм поиска и сортировки C # Sharp: упражнение 9 с решением

Напишите программу на C # Sharp для сортировки списка элементов с помощью быстрой сортировки.

Быстрая сортировка - это сортировка сравнения, это означает, что она может сортировать элементы любого типа, для которых определено отношение «меньше чем» (формально, общий порядок).

Наглядная презентация - алгоритм быстрой сортировки:

«с
«с

Анимированная визуализация алгоритма быстрой сортировки. Горизонтальные линии являются опорными значениями.

Анимационные кредиты: RolandH

Пример решения : -

C # острый код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Quick_Sort
{
    class Program
    {
        private static void Quick_Sort(int[] arr, int left, int right) 
        {
            if (left < right)
            {
                int pivot = Partition(arr, left, right);
                if (pivot > 1) {
                    Quick_Sort(arr, left, pivot - 1);
                }
                if (pivot + 1 < right) {
                    Quick_Sort(arr, pivot + 1, right);
                }
            }
        
        }
        private static int Partition(int[] arr, int left, int right)
        {
            int pivot = arr[left];
            while (true) 
            {
                while (arr[left] < pivot) 
                {
                    left++;
                }
                while (arr[right] > pivot)
                {
                    right--;
                }
                if (left < right)
                {
                    if (arr[left] == arr[right]) return right;
                    int temp = arr[left];
                    arr[left] = arr[right];
                    arr[right] = temp;
                }
                else 
                {
                    return right;
                }
            }
        }
        static void Main(string[] args)
        {
            int[] arr = new int[] { 2, 5, -4, 11, 0, 18, 22, 67, 51, 6 };
            Console.WriteLine("Original array : ");
            foreach (var item in arr)
            {
                Console.Write(" " + item);    
            }
            Console.WriteLine();
            Quick_Sort(arr, 0, arr.Length-1);
            
            Console.WriteLine();
            Console.WriteLine("Sorted array : ");
           
		   foreach (var item in arr)
            {
                Console.Write(" " + item);
            }
            Console.WriteLine();
                    }
    }
}

Пример вывода:

 Исходный массив:                                                                                              
 2 5 -4 11 0 18 22 67 51 6                                                                                    
                                                                                                              
Сортированный массив:                                                                                                
 -4 0 2 5 6 11 18 22 51 67 
 

Блок - схема:

«C #

Редактор кода C # Sharp:

Внесите свой код и комментарии через Disqus.

Предыдущая: Написать программу на C # Sharp для сортировки списка элементов с использованием сортировки по перестановке.
Далее: Напишите программу на C # Sharp для сортировки списка элементов с использованием алгоритма сортировки Radix.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code