코딩성장스토리

set ,그리고 iterater 반복자 본문

자료구조

set ,그리고 iterater 반복자

까르르꿍꿍 2022. 1. 26. 15:53

set 라이브러리와 iterater 라이브러리를 공부하면서 느낀점을 적으려고 한다.

일단 set은 이진 트리로 구성되어 있으며 중복을 허용하지 않는 트리이다.

일단 삽입은 set.insert()

삭제는 set.erase()가 있다

set.begin();
맨 첫번째 원소를 가리키는 반복자를 리턴(참조)합니다.

set.end();
맨 마지막 원소(의 다음)를 가리키는 원소의 끝부분을 반복자로 리턴(참조)합니다.

set 함수는 유용하게 쓰이니 까먹지 말자 

내가 하고 싶은 말은 iterater 반복자 이다.

나는 set을 출력할 떄 그냥 아래 코드 처럼 출력하면 된다고 생각했다.

 set<int>::iterator iter;
    for(iter = s.begin(); iter != s.end(); iter++){
        cout << *iter << " " ;
    }

 

 

s.rbegin();

s.rend();
begin(), end() 와 반대로 작동하는 멤버함수이다
역으로 출력하고 싶을때 사용합한다

하지만 이런 역으로 출력하는 것들은 반복자를 그냥 사용하면 안되고 역방향 반복자를 사용해야한다.

역방향 반복자는 reverse_iterator이고 코드로는 아래처럼 사용한다.

for (set<string>::reverse_iterator iter = save.rbegin(); iter != save.rend(); iter++) {    //역방향 반복자
	    cout << *iter << "\n";
    }


.주의하도록 하장

 

'자료구조' 카테고리의 다른 글

유니온 파인드(union find)  (0) 2022.01.18
순열  (0) 2022.01.12
브루트 포스(Brute force search):완전탐색  (0) 2021.10.19
트리  (0) 2021.10.11
그래프  (0) 2021.10.01