그럴듯한 개발 블로그
article thumbnail
Published 2023. 4. 6. 20:21
STL 해시 <language>/c++
반응형
  • unordered_set
    • vector 처럼 자료형도 선언할때 지정해줘야 함
    • s.insert(val) val을 추가함
    • unordered_set은 중복을 허용하지 않는다(같은 값을 집어넣으면 씹힌다)
    • s.erase(val) val을 찾아서 제거함 (성공 시 1을 실패 시 0을 반환)
    • s.find(val) val을 찾아서 iterator을 반환한다.(못찾으면 s.end()를 반환)
    • s.size() 크기 반환
    • s.count(val) val이 몇개 있는지 반환 (unordered_set은 중복 안되서 무조건 1, 0)
    • 해시는 반복문으로 출력해보면 뒤죽박죽으로 나오는데 해시의 특성이다 (정렬되어 보관되지 않는다)

  • unordered_multiset
    • 중복이 허용된다.
    • erase 주의 같은 값을 가지고있는 모든 요소를 제거함
    • 하나만 지우고 싶으면 find()로 찾아서 erase 해야함
    • 나머진 unordered_set과 동일

  • unordered_map
    • map 처럼 key value 쌍으로 받는다
    • 자료형을 명시해 줘야 함
    • 배열같이 인덱스 대신 key값을 넣어서 사용 가능
    • 중복 불가능 unordered_set처럼 덮어씌워짐

그림 출처 : 바킹독의 실전 알고리즘 https://blog.encrypted.gg/919

반응형

'<language> > c++' 카테고리의 다른 글

c++ class 상속, 가상함수 테이블, 추상클래스  (0) 2023.08.07
c++ 레퍼런스(참조자)  (8) 2023.07.06
c++ 동적할당  (0) 2023.07.06
cpp 파일 컨트롤(ifstream ofstream)  (0) 2023.07.05
cpp split  (0) 2023.05.29
profile

그럴듯한 개발 블로그

@donghyk2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!