[C++] 순열

Featured image for [C++] 순열

  1. 순열 서로 다른 n개의 원소에서 r개를 중복 없이 순서에 상관있게 선택하는 혹은 나열하는 것을 **순열(permutation)**이라고 한다. 2. next_permutation [Algorithm] C++에서 next_permutation 함수(혹은 prev_permutation 함수)를 통해서 순열 구하기 Practice makes perfect! 이때 중요한 것은 주어진 벡터 혹은 배열을 [from, to) 범위에서 다음 순열로 변경한다. 커스텀비교함수를 사용할 수 있다. 3. 재귀함수를 사용한 순열

[C++] struct 구조체

Featured image for [C++] struct 구조체

1. 구조체 구조체(struct)는 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것이다. 출처 : https://boycoding.tistory.com/183 가. struct와 class의 차이점 C++에서 클래스(class)와 구조체(struct)는 매우 유사한 방식으로 작동한다. 둘 다 데이터 필드와 메서드를 포함할 수 있으며, 이들을 하나의 단위로 묶는 방법을 제공한다. C++에서는 구조체도 메서드를 포함할 수 있다. 또한 클래스와 구조체 모두 상속을 통해 기능을 확장하고 코드를 … 더 읽기

[C++] stack & queue & deque & priority_queue

Featured image for [C++] stack & queue & deque & priority_queue

map이 pair로 구현가능했다면 stack, queue, deque는 linked list로 구현 가능하다. 1. stack LIFO(Last In First Out)의 특성을 가진 자료 구조다. c++의 stack에는 clear() 메서드가 없는 관계로 초기화를 위해선 다음과 모든 요소를 pop()한다. 2. queue 선입선출(FIFO, First In First Out)을 지닌 자료 구조. 3. deque 앞뒤로 삽입, 삭제, 참조가 가능한 자료구조. 4. priority queue 우선순위 큐는 … 더 읽기

[C++] set & multiset

Featured image for [C++] set & multiset

https://luv-n-interest.tistory.com/964 1. set std::map과 std::set은 둘 다 C++의 Standard Template Library (STL)에 속하는 컨테이너입니다. 그러나 각각이 사용되는 목적과 저장하는 데이터의 형태가 다릅니다. 따라서 이 두 컨테이너의 사용 예시: set의 저장된 데이터는 자동적으로 정렬됩니다. 출처 : chatgpt-4.0 2. multiset 정렬은 한다. 단 중복을 허용한다.

[C++] map & unordered_map

Featured image for [C++] map & unordered_map

0. 참고자료 https://ldgeao99.tistory.com/379 네이버 블로그 당신의 모든 기록을 담는 공간 pair로 map을 구현했다는 것을 알 수 있다. 2. map 가. 예제 1 1) insert() 2) size() 3) find() 못 찾을 경우 mp.end()에 해당하는 iterator를 반환한다. map의 경우 해당 인덱스에 참조만 해도 맵에 값이 생기며 맵의 요소가 생기게 된다. int형 같은 경우 0으로. string 같은 경우 … 더 읽기

[C++] Linked list

Featured image for [C++] Linked list

  1. 연결 리스트 요소가 인접한 메모리 위치에 저장되지 않는 선형 데이터 구조다. 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료 구조다. 인접한 메모리 위치에 저장되지 않아서 공간 효율성이 높지만 반대로 인접한 메모리 위치에 저장되지 않기 때문에 순차적 접근이 강제된다. 이에 검색에 있어서 O(n)만큼의 시간이 소요된다. 연결리스트는 싱글연결리스트, 이중연결리스트, 원형싱글연결리스트 그리고 원형이중연결리스트 등이 있다. … 더 읽기

[C++] vector & arrray

Featured image for [C++] vector & arrray

1. vector https://cplusplus.com/reference/algorithm/find/ vector도 처음부터 크기를 정해서 특정한 값으로 초기화할 수 있다. 이를 벡터의 정적인 할당이라고 한다. 2. Array 23년 8월 31일 추가 2차원 배열을 매개변수로 할 때는 다음 두 가지 중 하나의 형태로 선언한다. 23년 11월 15일 추가 C++에서는 표준 배열에 대하여 .size나 .length() 같은 멤버 함수를 제공하지 않는다. 굳이 배열의 크기를 구하기 위해선 … 더 읽기

[C++] unique

Featured image for [C++] unique

1. unique() unique는 중복되는 요소를 제거하고 나머지 요소들은 삭제하지 않고 그대로 둔다. 중복되지 않는 요소 중 마지막 요소 다음 이터레이터를 반환한다. 일반적으로 원하는 결과를 위해서는 미리 정렬되어 있어야 한다. unique를 정상적으로 수행하기 위해서는 위의 방식을 기억해 두자.