отделены от самих коллекций. По-настоящему. Есть ли уже готовая либа для этого?
Условно говоря, я хочу чтобы был класс Sort, с сигнатурой конструктора вида new Sort(Element beginSeq, endSeq, comparator)
Во-первых, это позволяет не привязываться к интерфейсам коллекций. Все что надо для сорта - это нечто, имеющее начало и конец. Или даже не имеюющее конец, но имеющее конец текущего чанка - бесконечный стрим то есть, и потом сортировать хоть всю Кафку или SQL базу данных
Во-вторых, если алгоритмы - это объекты первого класса, их можно наследовать и комбинировать по жести! Чистыми и грязными образами!
В-третьих, это готовый кандидат для реализации клона LINQ expressions и далее streams-to-sql
Я уже набросал небольшой прототипчик для себя, и теперь море вопросов. Например, в плане перформанса и многопоточности, я же не могу для определения длины чанка из begin вычесть end в адресной арифметике, потом поделить на длину объекта, сдвинуться по такому офсету и кастануть указатель к объекту )))
Есть готовые реализации такого?
@shipilev
Случайно не с отравлением в больнице лежишь? А то в 1976-ом Степанов придумал STL вот так.
я у вас несколько не понимаю, чем задание "begin" и "end" отличается от передачи коллекции, или итератора
Так-то сортировка может хотеть прямой доступ по индексу, а не вот это вот
Обсуждают сегодня