/
MarkMuzyka
/
Algorithms
Обзор
Документация
Войти
/
MarkMuzyka
/
Algorithms
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
QuickSort/Program.cs
71 строка
2 KB
Музыка Марк
Добавление QuickSort + рефакторинг
17 авг 2025, 15:33
17 авг 2025, 15:33
809dad4
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QuickSort; internal class Program { public static void Main(string[] args) { var sortedA = QuickSort(new List<int> { 4, 2, 5, 1, 3 }); var sortedB = QuickSort(new List<int> { 3, 4, 1, 2, 5, 3, 1, 3 }); var sortedC = QuickSort(new List<int> { 4, 3 }); Display(sortedA); Display(sortedB); Display(sortedC); } public static List<int> QuickSort(List<int> array) { if (array.Count <= 1) { return array; } var pivotI = array.Count / 2; var left = new List<int>(); var right = new List<int>(); for (var i = 0; i < array.Count; i++) { if (i == pivotI) { continue; } if (array[i] < array[pivotI]) { left.Add(array[i]); } else { right.Add(array[i]); } } return QuickSort(left).Concat(new List<int>(){array[pivotI]}).Concat(QuickSort(right)).ToList(); } public static void Display(List<int> array) { var result = new StringBuilder(); result.Append('['); for (var i = 0; i < array.Count; i++) { result.Append(array[i]); if (i != array.Count - 1) { result.Append(", "); } } result.Append("]"); Console.WriteLine(result); } }