📌 2차원 vector를 초기화 하는 방법

이러한 2차원 vector를 만들기 위한 코드는

vector<vector<int>> v = {
        {1,2,3},
        {4,5,6},
        {7,8,9}
    };

💡 2차원 벡터 선언

📌 vector 컨테이너에 pair을 통해 2차원 배열을 만들 수 있음

vector<pair<int, int>> v;

📌벡터 v가 입력받는 게 ('a', 1), ('b',2) 라면?

▶️ <int, int> 대신 아래와 같이 <char, int>로 수정해 주면 된다.

vector<pair<char, int>> v;

💡 벡터 정렬

📌 정렬은 STL의 sort를 이용

sort(v.begin(), v.end()); // 오름차순
sort(v.begin(), v.end(), less<>()); // 오름차순
sort(v.begin(), v.end(), greater<>()); // 내림차순

☑️ 정렬 범위는 벡터의 begin, end 함수를 사용
☑️ 정렬 조건 greater, less를 이용
☑️ less는 생략 가능


💡 Pair이란?

📌 Pair의 정의

2개의 객체(first, second)를 하나로 묶어 데이터의 쌍을 표현할 때 사용
주로 벡터와 묶어 2차원 배열처럼 사용하거나, 좌표계를 표현할 때 사용

📌 Pair의 멤버 함수

1. v.first : v의 첫 번째 인자 반환
2. v.second : v의 두 번째 인자 반환
3. make_pair(value1, value2) : value1, value2를 가진 pair 생성


💡 Pair과 vector를 사용한 예제

#include<iostream>
#include<vector>
#include<utility>
using namespace std;

int main() {
vector<pair<int, int>> v;

v.push_back(make_pair(10,20));
v.push_back(make_pair(30,40));
v.push_back(make_pair(50,60));

cout << v[0].first << " " << v[0].second << endl;
cout << v[1].first << " " << v[1].second << endl;
cout << v[2].first << " " << v[2].second << endl;
return 0;
}

📌출력 결과

📌 [참고사이트]
https://cocoon1787.tistory.com/201
https://novlog.tistory.com/13

'C++' 카테고리의 다른 글

[C/C++] 2차원 vector 초기화  (0) 2023.03.01
[C/C++] C6262 함수가 스택의 바이트를 사용합니다.  (0) 2023.02.24
런타임 에러 해결  (0) 2023.02.24
[C++] this 포인터  (0) 2023.02.24

+ Recent posts