자료구조_벡터(vector) in C++
1.벡터의 선언
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> num_arr1;
int n;
cin >> n;
vector<int> num_arr2(n+1);
vector<int> num_arr3(n+1, 2147000000);
vector<int> copy_arr3(num_arr3);
for(int i=0; i<num_arr2.size(); i++) {
cout << num_arr2[i] << " ";
}
cout << "\n";
for(int i=0; i<num_arr3.size(); i++) {
cout << num_arr3[i] << " ";
}
cout << "\n";
for(int i=0; i<copy_arr3.size(); i++) {
cout << copy_arr3[i] << " ";
}
return 0;
}
- num_arr1 : 가장 기본적인 형태의 vector 선언이다.
- num_arr2 : vector의 크기를 정함과 동시에 선언한다.
- num_arr3 : vector의 크기를 정하면서, 해당 vector의 값을 무엇으로 초기화할지도 정한다.
- coppy_arr3(num_arr3) : 이런식으로 vector를 복사할 수 있다.
ex) n=5일때의 출력
2.벡터와 관련된 연산
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> num_arr1;
int n;
cin >> n;
for(int i=0; i<n; i++) {
num_arr1.push_back(n-i);
}
for(int i=0; i<n; i++) {
cout << num_arr1[i] << " ";
}
cout << "\n";
sort(num_arr1.begin(), num_arr1.end());
cout << "오름차순 정렬 : ";
for(int i=0; i<n; i++) {
cout << num_arr1[i] << " ";
}
cout << "\n";
sort(num_arr1.begin(), num_arr1.end(), greater<>());
cout << "내림차순 정렬 : ";
for(int i=0; i<n; i++) {
cout << num_arr1[i] << " ";
}
cout << "\n";
return 0;
}
- push_back : vector에 원소를 삽입하는 함수이다.
- size : 해당 vector의 크기를 알 수 있는 함수이다.
- sort : algorithm에 속하는 함수로, vector의 원소를 오름차순 또는 내림차순으로 정렬할 수 있다.
(default는 less<>()로 오름차순, greater<>()는 내림차순)
ex) n=5일때의 출력
3. 벡터의 배열(= 인접리스트)
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> num_arr4[10];
for(int i=0; i<10; i++) {
num_arr4[i].push_back(i);
}
for(int i=0; i<10; i++) {
cout << "num_arr4[" << i << "] is : ";
for(int j=0; j<num_arr4[i].size(); j++) {
cout << num_arr4[i][j] << " ";
}
cout << "\n";
}
return 0;
}
위와 같이, vector를 배열로 선언하면, 인접리스트와 같은 형태로 사용할 수 있다.
ex) 출력
Author And Source
이 문제에 관하여(자료구조_벡터(vector) in C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@juwon9733/벡터vector-in-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)