hist0613   2년 전

C++ 에서 

vector <string> 형태의 배열을

algorithm sort 가지고 정렬을 했는데

대소문자를 신경쓰지 않으면

array 가 AVL tree 보다 더 빠르지만

algorithm sort 는 아스키 값을 가지고 정렬을 해서 그런지

AVL tree 를 array 보다 더 앞에 놓는 것 같습니다

대소문자를 신경쓰지 않고 정렬을 하려면 어떻게 해야할까요 ... ?

출력은 또 원본 그대로 출력해야 하는데

hist0613   2년 전

  1. sort(arr.begin(), arr.end(),
  2. [](const string &a, const string &b)
  3. {
  4. for(int i = 0; i < min(a.size(), b.size()); i++)
  5. if(tolower(a[i]) != tolower(b[i]))
  6. return tolower(a[i]) < tolower(b[i]);
  7. return a.size() < b.size();
  8. }
  9. );
신기한 C++의 세계..

baekjoon   2년 전

C++11인가요

hist0613   2년 전

새 표준이라고 들은 것 같습니다 ㅎㅎ

WeissBlume   2년 전

Lambda!

댓글을 작성하려면 로그인해야 합니다.