kaki1013
2차원 vector의 정렬 본문
1. 1차원 vector
C++에서 vector를 사용
: <vector> 헤더파일을 추가해야 함
vector를 선언
vector <int> v; // 빈 벡터 생성
vector <int> v(5); // 기본값(0)으로 초기화 된 길이 5의 벡터 생성
vector <int> v(5,2); // 입력값(2)으로 초기화 된 길이 5의 벡터 생성
2. 2차원 vector
1차원 벡터를 선언하듯,
vector를 원소로 가지는 vector를 선언
// 1차원
vector <int> v;
// 2차원
vector <vector <int>> v;
// 2차원 벡터 초기화
vector <vector <int>> v(10, vector <int>(10,0));
3. 2차원 vector의 정렬
sort 함수 : <algoritnm> 헤더파일 추가하여 사용
기본적으로는 사전순으로 정렬
별도의 기준으로 정렬을 하기 위해서는 sort의 3번째 매개변수를 넘겨주어야 함
예컨대, 2번째 원소를 기준으로 정렬하고 동일한 값에 대해서는 1번째 원소를 기준으로 정렬하는 코드는 아래와 같음
bool cmp(vector<int> &v1, vector<int> &v2){
if(v1[1] == v2[1])
return v1[0]<v2[0];
else return v1[1]<v2[1];
}
sort(v.begin(), v.end(), cmp);
출처 : https://twinkite.tistory.com/entry/C-2%EC%B0%A8%EC%9B%90-%EB%B2%A1%ED%84%B0-%EC%A0%95%EB%A0%ACsort