Реализовать Быструю сортировку (Quicksort) для строк
Дан какой-то массив, например, из 50-ти строк. Как его отсортировать методом "Быстрой сортировки" по длине строки?
Источник: Stack Overflow на русском
Дан какой-то массив, например, из 50-ти строк. Как его отсортировать методом "Быстрой сортировки" по длине строки?
using System;
using System.Linq;
namespace Quicksort
{
class Program
{
static string[] Quicksort(string[] s)
{
if (s.Length < 2) { return s; }
int p = s[0].Length;
return Quicksort(s.Where(x => x.Length < p).ToArray())
.Concat(s.Where(x => x.Length == p))
.Concat(Quicksort(s.Where(x => x.Length > p).ToArray()))
.ToArray();
}
static void Main()
{
foreach (string s in Quicksort(Console.ReadLine().Split().ToArray()))
{
Console.WriteLine(s);
}
}
}
}