Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

kaki1013

2차원 vector의 정렬 본문

코딩/C++

2차원 vector의 정렬

kaki1013 2023. 8. 24. 16:14

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