Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 그리드
- CI/CD
- 분할 정복
- github action
- 백준
- 순열
- 도커
- 재귀
- 자바
- dfs
- HTTP
- GIT
- Spring
- 자료구조
- BFS
- 트리
- 그래프
- 브루트포스
- 이분탐색
- 스프링
- SQL
- 분할정복
- 다이나믹프로그래밍
- 다이나믹 프로그래밍
- AWS
- 그리드 알고리즘
- 알고리즘
- TCP
- 역방향 반복자
- 컴퓨터 네트워크
Archives
- Today
- Total
코딩성장스토리
set ,그리고 iterater 반복자 본문
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 |