Manera fácil de agregar una ordenación estable a TList y TStringList
Uso TList / TObjectList y TStringList (con objetos asociados) para una multitud de tareas, ya sea como es, o como base para estructuras más complejas. Si bien la funcionalidad de clasificación suele ser lo suficientemente buena, a veces necesito hacer unestabl sort, y ambas listas usan quicksort.
¿Cuál es la forma más fácil de implementar una ordenación estable para TList y / o TStringList? ¿Tengo que escribir mi propia rutina de clasificación, o puedo hacerlo usando algún truco inteligente con TStringListSortCompare / TListSortCompare?