본문 바로가기

개발/C++9

C++ 자료구조 - Queue Queue FIFO(First In First Out) 방식 1. 사용 - #include 2. 생성자 - queue [변수이름]; 3. 멤버함수 - qu.empty(); - 비어있는지 확인 - qu.size(); - 크기 반환 - qu.front(); - 맨 위에 있는 원소 반환 - qu.back(); - 맨 마지막에 있는 원소 반환 - qu.push(val); - 데이터(val) 삽입 - qu.pop(); - 제일 오래된 원소 삭제 아래 링크 설명이 좋아 직접 타이핑하면서 외우는중 출처 https://blockdmask.tistory.com/101?category=249379 2020. 6. 23.
C++ 자료구조 - Stack Stack LIFO(Last In First Out) 방식 1. 사용 - #include 2. 생성자 - stack [변수이름]; 3. 멤버함수 - st.empty(); - 비어있는지 확인 - st.size(); - 크기 반환 - st.top(); - 맨 위에 있는 원소 반환 - st.push(val); - 데이터(val) 삽입 - st.pop(); - top이 가리키는 원소 삭제 아래 링크 설명이 좋아 직접 타이핑하면서 외우는중 출처 https://blockdmask.tistory.com/73?category=249379 2020. 6. 23.
C++ 자료구조 - unordered map(hash map) unordered map(hash map) map과 비슷하지만 정렬이 되어있지 않다. insert, erase, find 모두가 O(1)O(1) 으로 수행된다 셋이나 맵의 경우 O(log n)O(logn) 이었지만, unordered_set 과 unordered_map 의 경우 상수 시간에 원소를 삽입하고, 검색할 수 있다. 원소의 key 값(데이터형)을 hash function을 통해 생성한다.(대부분 정수값) 다른 원소이지만 같은 해시값을 가질 수 있다(해시 충돌(hash collision)) 1. 사용 - #include - unordered_map [변수이름] 2. 생성자와 연산자(int로) - unordered_map um; - 비어있는 unordered_map um을 생성 3. 멤버 함수 - .. 2020. 6. 22.
C++ 자료구조 - Deque Deque - LIFO, FIFO 두 가지 방식을 다 사용할 수 있는 스택큐 짬뽕. - VECTOR는 끝부분에 삽입할 때만 빠르지만 덱은 앞뒤로 다 빠름. 하지만 중간에 삽입 삭제 시 벡터처럼 밀거나 땡겨야되는 단점을 가진다.(여러개의 블록을 할당하므로) 1. 사용 - #include - deque [변수이름] 2. 생성자와 연산자(int로) - vector v; - 비어있는 vector v를 생성 - vector v(5); - 0으로 초기화 된 5개의 원소를 가지는 vector v를 생성 - vector v(5,2); - 2으로 초기화 된 5개의 원소를 가지는 vector v를 생성 3. 멤버 함수 - dq.assign(5,2); - 2의 값으로 5개의 원소 할당 - dq.at(idx); - idx번째.. 2020. 6. 21.