선언
//string
string 변수명("문자열");
string 변수명 = "문자열";
//vector
vector<타입> 변수명;
vector<타입> 변수명 = {a, b, c};
vector<int> 변수명[크기];
vector<int> v(5); // 5개의 원소를 0으로 초기화
vector<int> v(5, 3); // 5개의 원소를 3으로 초기화
추가
//string
str += str //연산자 사용가능
str.append("붙일 문자열"); //문자열뒤에 문자열을 붙임
str.append("붙일 문자열",2,3); // n에서 시작하여 m개의 문자를 붙임
str.append(2,'문자'); // 문자열 뒤에 문자를 2개만큼 붙임
//vector
v.push_back(10); //맨뒤에 붙임.
v1.assign (v2.assign(str_list.begin(), v2.begin() + i);
삽입
//string
a.insert(n, "str"): 문자열의 인덱스 n에 문자열을 삽입합니다.
a.replace(n, m, "str"): 문자열의 인덱스 n부터 m개의 문자를 해당 문자열로 치환합니다.
//vector
v.insert(시작위치, 갯수, 추가할 요소);
v.insert(v.begin(), 2); //맨앞에 2를 삽입
v.insert(v.begin(), 2, 4); // 맨앞에 4를 2개 삽입
v1.insert(v1.end(), v2.begin(), v2.end()); // v1 끝에 v2의 시작부터 끝 삽입
삭제
//string
str.erase(n, m) : n번째 index부터 m개의 문자를 지움.
str.erase(it1, it2) : it1에서 시작하여 it2 바로 전까지의 문자열을 지움 (it1와 it2는 반복자)
//반복자(iterator)
str.begin(), str.end()
//vector
v.pop_back(); // 마지막에 넣은 값 제거
v.erase(vec.begin()+10); // index 10의 값을 제거
v.erase(vec.begin(), vec.begin()+5); // index 0~5의 값을 제거
v.clear(); //모든 값 제거
대체
//string
str.substr() str 전체를 반환
str.substr(n) str의 n번째 index부터 끝까지의 문자를 부분문자열로 반환
str.substr(n, k) str의 n번째 index부터 k개의 문자를 부분문자열로 반환
swap(str1, str2) str1과 str2를 바꿔줌. reference를 교환하는 방식
//vector
vector<int> subvec(vec.begin() + 2, vec.end()); // idx 2~끝 까지 반환.
#include <algorithm>
sort(str.begin(), str.end()); //오름차순
sort(str.rbegin(), str.rend()); //내림차순