C++ [자료구조] / #forward_list #멤버 함수
forward_list
- forward_list는 list와 같은 연결 리스트와 같은 형태의 자료 구조
- 자료의 중간과 처음부분에 원소를 추가할 수 있다.
- 가장 첫번째 자료에만 접근할 수 있다.
#include <forward_list>
forward_list<int> fl;
int x=0;
fl.begin();
fl.end();
fl.clear();
fl.emplace_after(fl.begin(), x);
fl.emplace_front(x);
fl.empty();
fl.erase_after(fl.begin(), fl.end());
fl.remove(x);
fl.remove_if(x);
fl.front();
fl.pop_front();
fl.push_front(x);
fl.insert_after(fl.begin(),x)
fl.reverse();
fl.sort();
fl.unique();
멤버 함수
1. fl.begin();
2. fl.end();
3. fl.clear();
4. fl.emplace_after(fl.begin(),x);
- 첫번째 매개변수(반복자) 위치에 두번째 매개변수(value) 값을 원소로 추가
- 추가한 위치의 반복자를 반환
5. fl.emplace_front(x);
6. fl.empty();
7. fl.erase_after(fl.begin(), fl.end());
- 첫번째 매개변수(반복자)위치부터 두번째 매개변수(반복자) 앞까지의 원소를 제거
- 매개변수가 하나일 경우 해당 위치의 원소 제거
- 제거 위치의 반복자 반환
8. fl.remove(x);
- x값을 갖는 원소를 모두 제거
- 원소 비교 시 등호 연산이 지원되지않는 타입의 원소인 경우 에러 발생
9. fl.remove_if(x);
- x값을 갖는 모든 원소를 제거
- 등호 연산에 근거하여 참인 경우 삭제
10. fl.front();
11. fl.pop_front();
12. fl.push_front(x);
13. fl.insert_after(fl.begin(),x);
- 첫번째 매개변수 위치에 x값을 원소로 추가하고 해당 위치의 반복자를 반환
14. fl.reverse();
- list의 원소를 뒤집음
15. fl.sort();
- front부터 오름차순으로 정렬 / front에 가장 작은 값의 원소가 저장
- fl.sort(greater<int>()); // 내림차순 정렬
16. fl.unique();
- fl 내의 하나의 원소와 그 원소와 인접해있는 다른 원소와 비교하여 같으면 앞에 있는 원소는 남기고 하나는 제거
- ex) // { 0,1,0,1,1 } -- unique() 잰힝 시 --> { 0,1,0,1 }