Это точно
Только хотелось бы чуть поправить алгоритм - чтобы одно случайно возникшее место не залипало в стеке - сортировать не только по последнему появлению, но и по количеству появлений в этой сессии.
То есть, новое использованное место становится не 1-м, а 10-м, и перемещается ближе к началу стека, если появляется вновь и вновь. Таким образом, самые используемые не будут выбывать из списка, а "залётные птицы" будут спокойно уходить.