hljs.initHighlightingOnLoad();

🌈 Programming

pair 정의 first, second 라는 멤버변수를 가지는 클래스이며 두가지 값을 담아야 할 때 사용합니다. 주로 이차원 배열의 인덱스 혹은 이차원 좌표 평면에서의 좌표를 저장하는데 사용됩니다. 정점 번호와 해당 정점 번호까지의 최단 거리를 묶어서 저장해야 하는 경우도 사용됩니다. 사용 예제 vector 객체에 pair 컨테이너를 통해 값 저장하는 방법 #include using namespace std; vector vp1; vector vp2; int main(){ ios_base::sync_with_stdio(false); // make_pair를 통한 삽입 vp1.push_back(make_pair(2, 4)); // 반복문을 통한 일반 삽입 cin >> n; for(int i=0 ; i
벡터 메모리 heap에 동적 할당되는 자료의 길이를 변경할 수 있는 배열입니다. 쉽게 말해 자동으로 메모리가 할당되는 배열입니다. 일반 배열과 동일하게 연속적인 메모리 공간에 저장합니다. (개별 원소에 대한 접근 속도가 빠름) iterator 뿐 아니라 index 로도 접근이 가능합니다. 컨테이너 끝에서 삽입 / 제거하는 속도가 빠릅니다. 중간의 값을 삽입하거나 삭제할 수도 있지만 배열 기반이므로 빈번하게 일어난다면 비효율적입니다. 동적으로 확장 및 축소가 가능한 Dynamic Array로 구현되어 있습니다. vector 생성자와 연산자 더보기 vector v - 비어있는 vector v 를 생성합니다. vector v(5) - 기본 값(0)으로 초기화 된 5개의 원소를 가지는 vector v를 생성합..
string::erase() 함수의 3가지 사용법 string& erase(size_t pos = 0, size_t len = npos); // pos 부터 len 길이만큼 문자열 제거 iterator erase(const_iterator p); // p에 해당하는 문자열 제거 iterator erase(const_iterator first, const_iterator last); // (first, last] 길이의 문자열 제거 특정 길이만큼 문자열 제거 첫 번째 파라미터로 제거할 문자열의 시작 위치, 두번째 파라미터로 제거할 문자열 길이를 넣습니다. string& erase(size_t pos = 0, size_t len = npos); 다음 예제 코드는 "Nero Blog" 문자열에서 "Nero"를..
string :: operator[ ] string의 pos 위치 문자에 대한 Ref를 반환합니다 아래 예제 코드와 같이 s[j] 에서 s 값의 j번째 위치 문자를 배열처럼 접근하여 반환할 수 있습니다 int main() { cin >> n; for(int i=0 ; i> s; ret = ""; for(int j=0 ; j
Map 의 기본 정렬 상태 map은 key값을 기준으로 오름차순 정렬되어 있습니다. 만일 key값 내림차순으로 변경하기 위해서는 다음의 3번째 인자를 활용해야 합니다. // 키, 데이터, compare map m; Value 기반 정렬하기 map은 tree 형태로 되어 있고, tree 형태를 만드는 과정에서 key를 기준으로 정렬합니다. 완성된 tree를 재정렬하는 sort() 함수는 존재하지 않습니다. pair 기반의 vector에 map이 가지고 있는 pair를 모두 넣고 정렬하면 value 기준 정렬이 가능해집니다. 다음의 두 단계로 진행됩니다. map을 vector로 이동 vector를 second 기준으로 정렬 1. map 을 vector로 이동 2. value 기준 비교 함수 cmp pair를..
nerowiki
'🌈 Programming' 카테고리의 글 목록 (2 Page)