Такие методы, как sort_by
на std::slice::MutableSliceAllocating
или sort_by
на collections::vec::Vec
задокументированы, чтобы "распределить приблизительно 2 * n, где n – длина". Я не думаю, что хорошие реализации C++ std::sort
выделяют (в куче) и тем не менее, они достигают той же сложности O (n log n). Хотя методы сортировки в Rust стабильны, в отличие от C++ std::sort.
Почему методы сортировки Rust выделяют ресурсы? На мой взгляд, это не соответствует законопроекту "абстракция с нулевой стоимостью", рекламируемому здесь.
sort_by
, на который вы ссылаетесь, является стабильным, поэтому вам следует сравнить его с стабильной сортировкой cpp. , который выделяет память для снижения сложности. - person aochagavia   schedule 07.10.2014