У меня есть реализация связанного списка, и я экспериментирую с алгоритмами Mergesort и QuickSort.
Я не понимаю, почему операция сортировки в std :: list так быстро. Глядя на std :: list в Linux, он тоже выглядит связанным списком, а не списком на основе массива.
Сортировка слиянием, которую я пробовал, почти идентична версии Дэйва Гэмбла здесь: Сортировка слиянием связанного списка
Также я подумал, что попробую простую быструю сортировку на основе этого кода: http://www.flipcode.com/archives/Quick_Sort_On_Linked_List.shtml
Удивительно, но сортировка 10 миллионов случайных чисел с помощью std :: list и sort была примерно в 10 раз быстрее, чем любой из этих других.
И для тех, кто спрашивает, да, мне нужно использовать свой собственный класс списка для этого проекта.