C++/자료구조

C++ [자료구조] / #forward_list #멤버 함수

공부하는 신입사원 2023. 4. 8. 14:14

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 }