일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘 인증_2주차
- recyclerview
- 알고리즘 인증_1주차
- 취준기록
- filternot
- 코틀린
- 코딩테스트
- array랑 list
- iPortfolio
- 다시정리하기
- 다시봐
- 다시 정리해야함
- Filter
- foldindexed
- 알고리즘 인증
Archives
- Today
- Total
Moments of growth
STL 본문
자꾸 헷갈려서 정리해놓는 STL
1. vector
- 삽입
v.push_back(element)
- 삭제
v.pop_back()
- 전부 삭제
v.clear()
- 크기 반환
v.size()
- 비어있는지 확인
v.empty()
2. stack
- 삽입
st.push(element)
- 삭제
st.pop()
- 전부 삭제
while(!st.empty()) st.pop();
- 크기 반환
st.size()
- 비어있는지 확인
st.empty()
- 제일 위에 원소
st.top()
3. queue
- 삽입
q.push(element)
- 삭제
q.pop()
- 전부 삭제
while(!q.empty()) q.pop();
- 크기 반환
q.size()
- 비어있는지 확인
q.empty()
- 제일 앞에 원소
q.front()
4. deque
- dq.push_front(3);
- dq의 첫 번째 원소 앞에 원소 3을 삽입합니다.
- dq.pop_front();
- dq의 첫 번째 원소를 제거합니다.
- dq.push_back(5);
- dq의 마지막 원소 뒤에 원소 5를 삽입합니다.
- dq.pop_back();
- 마지막 원소를 제거합니다.
- dq.assign(4, 3);
- 3의 값으로 4개의 원소 할당.
- dq[idx];
- idx 번째 원소를 참조합니다.
- dq.front();
- 첫 번째 원소를 참조 합니다.
- dq.back();
- 맨 마지막 원소를 참조 합니다.
- dq.clear();
- 모든 원소를 제거합니다.
- dq.begin();
- 첫번째 원소를 가리킵니다. (iterator와 사용)
- ex) deque<int>::iterator iter = dq.begin();
- dq.end();
- 마지막의 "다음"을 가리킵니다. (iterator와 사용)
- ex) deque<int>::iterator iter = dq.end();
- dq.rbegin();
- reverse begin을 가리킵니다.
- 맨 마지막원소를 마치 첫 번째 원소처럼 가리킵니다. (역으로)
- iterator와 사용.
- ex) deque<int>::iterator iter = dq.rbegin();
- dq.rend();
- reverse end 을 가리킵니다.
- 맨 첫번째 원소의 "앞"을 마지막 원소의 "다음" 처럼 가리칩니다.
- iterator와 사용.
- ex) deque<int>::iterator iter = dq.rend();
- dq.resize(n);
- 크기를 n 으로 변경합니다.
- 만약 크기가 더 커졌을 경우 비어있는 원소를 default값인 0으로 초기화 합니다.
- dq.resize(n,2);
- 크기를 n 으로 변경합니다.
- 만약 크기가 더 커졌을 경우 빈 원소를 2로 초기화합니다.
- dq.size();
- 원소의 개수를 리턴합니다.
- dq2.swap(dq1);
- dq1과 dq2를 바꾸어 줍니다. (swap)
- dq.insert(1, 2, 3);
- 1번째 위치에 2개의 3값을 삽입합니다.
- 삽입 시에 앞뒤 원소의 개수를 판단하여 적은 쪽으로 미루어서 삽입합니다.
- 만약 앞의 원소의 개수가 적을 경우, 앞쪽으로 블록을 만들어서 원소를 옮기고 삽입합니다.
- 만약 뒤의 원소의 개수가 적을 경우, 뒤쪽으로 블록을 만들어서 원소를 옮기고 삽입합니다.
- dq.insert(3, 4);
- 3번째 위치에 4의 값을 삽입합니다.
- 삽입한 곳의 iterator를 반환합니다.
- dq.erase(iter);
- iter가 가리키는 원소를 제거합니다.
- 제거 한 후 앞 뒤의 원소의 개수를 판단하여 적은쪽의 원소를 당겨서 채웁니다.
- 제거한 곳의 iterator 를 반환합니다.
- dq.empty()
- dq가 비었으면 true를 반환합니다.
출처: https://blockdmask.tistory.com/73 [개발자 지망생]
5. priority_queue
- 삽입
pq.push(element)
- 삭제
pq.pop()
- 전부 삭제
while(!pq.empty) pq.pop();
- 크기 반환
pq.size()
- 비어있는지 확인
pq.empty()
- 제일 앞에 원소
pq.top()
6. map/set
- 삽입
insert({key, value}), insert(key)
- 삭제
erase(key)
- 전부 삭제
clear()
- key값에 해당하는 iterator 반환
find(key)
'Algorithm [C++] > 개념 정리' 카테고리의 다른 글
이진탐색 (0) | 2022.06.27 |
---|---|
Stack (0) | 2022.05.12 |
Comments