SortUtils.cpp 546 B

12345678910111213141516171819202122
  1. // SortUtils.cpp
  2. #include "StdAfx.h"
  3. #include "SortUtils.h"
  4. #include "Common/Wildcard.h"
  5. static int CompareStrings(const int *p1, const int *p2, void *param)
  6. {
  7. const UStringVector &strings = *(const UStringVector *)param;
  8. return CompareFileNames(strings[*p1], strings[*p2]);
  9. }
  10. void SortFileNames(const UStringVector &strings, CIntVector &indices)
  11. {
  12. indices.Clear();
  13. int numItems = strings.Size();
  14. indices.Reserve(numItems);
  15. for(int i = 0; i < numItems; i++)
  16. indices.Add(i);
  17. indices.Sort(CompareStrings, (void *)&strings);
  18. }