Written on
·
248
0
저는 이차원 배열 사용을 할 때 거의 항상 vector<vector<int>> vec 이런식으로 사용했는데
vector<int> adj[10]; 이런식으로 하면 vector라는 자료형이 10개가 있다는 말인데 위의 이차원 vector와 같은 거 같기는 한데
adj같은 경우는 vector라는 컨테이너 자체의 갯수는 못늘리고 vec은 계속해서 동적할 당이 가능한데 왜 adj는 vector<int> adj[10];이런식으로 사용하시는 지 궁금합니다!
Answer 1
0
안녕하세요 ㅎㅎ
저거는 인접리스트를 구현할 때 쓰는 건데요.
예를 들어 1번 노드에 2, 3, 4가 연결되어있다.
3번 노드에 1, 3이 연결되어있다.
를 어떻게 표현할 수 있을까요?
2, 3, 4를 담는 1번짜리 배열 vector<int> v[1]
1, 3을 담는 3번짜리 배열 vector<int> v[3]
이렇게 할 수 있겠죠?
그렇기 때문에 vector<int> adj[10] 이런식의 배열을 쓰게 되는 것입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.
vector<vector<int> vec1; 으로 사용하는 것과 vector<int> adj[10]; 이런식으로 사용하는 것과 어떤 차이점이 있나요??