Для применимых типов данных хорошая поразрядная сортировка может значительно превзойти сортировку сравнения, но std::sort обычно реализуется как интросорт. Есть ли причина не использовать поразрядную сортировку для реализации std::sort? Поразрядная сортировка не полностью достаточна для реализации std::sort, поскольку std::sort требует только того, чтобы типы были сопоставимы, но для типов, где сравнение и сортировка по основанию дают один и тот же ответ (например, int) это похоже на низко висящий плод, который остался не сорванным.
Было бы законно реализовать std::sort с перегрузками, которые используют поразрядную сортировку, когда соответствующий? Есть ли что-то в требованиях std::sort, что принципиально предотвращает это?
Изменить: Я должен был быть немного яснее. Я спрашиваю, будет ли это законно для реализации стандартной библиотеки. Я не спрашиваю о том, что пользователь реализации стандартной библиотеки помещает что-либо в пространство имен std. Я знаю, что это незаконно, за исключением особых случаев.
Подробнее здесь: https://stackoverflow.com/questions/329 ... radix-sort
Будет ли законно реализовать перегрузку std::sort с поразрядной сортировкой? ⇐ C++
Программы на C++. Форум разработчиков
1715618830
Anonymous
Для применимых типов данных хорошая поразрядная сортировка может значительно превзойти сортировку сравнения, но std::sort обычно реализуется как интросорт. Есть ли причина не использовать поразрядную сортировку для реализации std::sort? Поразрядная сортировка не полностью достаточна для реализации std::sort, поскольку std::sort требует только того, чтобы типы были сопоставимы, но для типов, где сравнение и сортировка по основанию дают один и тот же ответ (например, int) это похоже на низко висящий плод, который остался не сорванным.
Было бы законно реализовать std::sort с перегрузками, которые используют поразрядную сортировку, когда соответствующий? Есть ли что-то в требованиях std::sort, что принципиально предотвращает это?
[b]Изменить:[/b] Я должен был быть немного яснее. Я спрашиваю, будет ли это законно для реализации стандартной библиотеки. Я не спрашиваю о том, что пользователь реализации стандартной библиотеки помещает что-либо в пространство имен std. Я знаю, что это незаконно, за исключением особых случаев.
Подробнее здесь: [url]https://stackoverflow.com/questions/32966824/would-it-be-legal-to-implement-overloads-of-stdsort-with-radix-sort[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия