2011-01-11 2 views
0

я просто читал официальный Lua documentation on Table.sort и заметил, что он говорит:Когда метод таблицы Lua table.sort станет стабильным?

«[Table.sort] Алгоритм не стабилен, то есть элементы считаются равными по данному порядку может иметь их относительные позиции изменились по роду ».

Любые идеи, когда Table.sort станут стабильными в Lua?

+1

Невозможно создать стабильный вид. Это осознанный выбор и потенциальный компромисс между производительностью и выгодой. См. [Сортировка в википедии] (http://en.wikipedia.org/wiki/Sorting_algorithm). –

+1

Я не использую Lua, но если вы хотите стабильный сорт, вы можете просто добавить еще одну позицию параметра ко всем элементам, а затем сортировка сделает трюк. – Marii

+1

Примечание: Lua - это язык, в значительной степени предназначенный для: a) простоты и б) скорости. Всякий раз, когда есть компромисс между сложностью и простотой, вы можете ставить хорошие деньги, которые Луа выбрал последним. – Amber

ответ

1

Стабильный алгоритм сортировки несколько дороже (с точки зрения мощности обработки), чем неустойчивый вид. Нестабильная сортировка вполне подходит для большинства приложений.

Если не существует конкретного плана введения стабильного сортировки в Lua, я бы предположил, что функция сортировки останется такой, какой она есть.

6

Этого не будет, это специально и идеально подходит для работы.

Напишите свой собственный, если вам действительно нужен стабильный.

9

Я не уверен, но я думаю, вы смешиваете две совершенно разные вещи:

Stability of a sorting algorithm (который предназначен в качестве ссылки Lua)

и

стабильности программного обеспечения ака. msgstr "ошибка.

Смежные вопросы