Добрейшего всем.
Нужно прочитать пути-имена файлов с stdin, отсортировать по размеру и посчитать кое-какую статистику. Файлов может быть несколько сотен тысяч или больше. Хочется, чтобы это не занимало десятки секунд и не съедало много памяти.
Пока не придумал ничего лучше, чем добавлять имена и размеры в односвязный список, затем строить массив указателей на элементы списка и уже через этот массив сортировать и всячески мудрить.
Насколько я понимаю, std::vector в принципе подходит, но при добавлении элементов он будет иногда перестраиваться, а это, по-моему, несколько дольше, и доступ к элементу в итоге будет не быстрее.
Какие ещё варианты?
UPD Исправлено: s/имена файлов из каталога/пути-имена файлов с stdin/