C++ vector<int> 형에서 [], () 차이

오현진·2024년 7월 5일

C++ 

목록 보기
20/26
vector<int> arr(1000);
  • 이것은 1000개의 정수를 저장할 수 있는 단일 벡터를 생성합니다.
  • arr는 하나의 벡터이며, 1000개의 int 요소를 가집니다.
  • 모든 요소는 기본값 0으로 초기화됩니다.
  • 이는 선형 데이터 구조로, 각 인덱스에 하나의 정수만 저장할 수 있습니다.
vector<int> adj[1001];
  • 이것은 1001개의 벡터 배열을 생성합니다. 각 벡터는 동적 크기를 가질 수 있습니다.
  • adj는 1001개의 벡터로 구성된 배열입니다.
  • 각 벡터는 처음에는 비어 있으며, 필요에 따라 크기를 조절할 수 있습니다.
  • 이는 주로 그래프나 트리와 같은 자료구조를 표현할 때 사용됩니다.
  • 각 인덱스가 노드를 나타내고, 해당 벡터에 연결된 노드들의 인덱스를 저장할 수 있습니다.

사용 예시:

vector<int> adj(1000);
adj[0] = 5;  // 0번 인덱스에 5 저장
adj[1] = 10; // 1번 인덱스에 10 저장

// 두 번째 경우
vector<int> adj[1001];
adj[0].push_back(1);  // 0번 노드에 1번 노드가 연결됨
adj[0].push_back(2);  // 0번 노드에 2번 노드도 연결됨
adj[1].push_back(3);  // 1번 노드에 3번 노드가 연결됨

두 번째 경우는 그래프 표현에 더 적합하며, 각 노드에 연결된 여러 노드를 저장할 수 있습니다.

0개의 댓글