이진 검색은 정렬된 배열 내에서 대상 값의 위치를 찾는 검색 알고리즘입니다. 이진 검색은 대상 값을 정렬된 배열의 중간 요소와 비교합니다. 이진 탐색의 시간 복잡도는 O(1)입니다. 여러가지를 구현한 C++ 프로그램입니다. C++ STL의 이진 검색 기능 알고리즘 Begin Initialize the vector of integer values. The functions are used here: binary_search(start_pointer, end_po
Double Ended Queue는 삽입 및 삭제 작업이 양쪽 끝(전면 및 후면)에서 수행되는 Queue 데이터 구조입니다. 데이터는 앞과 뒤 모두 삽입할 수 있고, 앞과 뒤에서 모두 삭제할 수 있습니다. 알고리즘 Begin Declare deque vector and iterator. Take the input as per choice. Call the functions within switch operation: d.size() = Returns the size of queue. d.push_back(
STL의 순방향 목록은 단일 연결 목록을 구현합니다. 목록은 다음 요소와 이전 요소를 모두 추적하는 forward_list에 따라 다릅니다. 반면 순방향 목록은 다음 요소의 위치만 추적하므로 각 요소를 저장하는 데 필요한 저장 공간이 늘어납니다. forward_list의 단점은 개별 요소에 직접 액세스할 수 없고 역방향으로 반복할 수 없다는 것입니다. 기능 및 설명: From main(), we have called following functions: fl.resize() = Returns the resi
목록은 비연속적인 메모리 할당을 허용하는 시퀀스 컨테이너입니다. 목록은 벡터에 비해 탐색이 느리지만 위치를 찾으면 삽입 및 삭제가 빠릅니다. 기능 및 설명: From main(), we have called following functions: fl.resize() = Returns the resize of list. fl.push_front() = It is used to push elements into a list from the front. fl.remov
Map은 매핑된 방식으로 요소를 저장하는 연관 컨테이너입니다. 각 요소에는 키 값과 매핑된 값이 있습니다. 매핑된 두 값은 동일한 키 값을 가질 수 없습니다. 여기에 사용된 기능: m::find() – 맵에서 키 값 b가 있는 요소에 대한 반복자를 찾으면 반환하고, 그렇지 않으면 끝 부분에 대한 반복자를 반환합니다. m::erase() – 맵에서 키 값을 제거합니다. m::equal_range() – 쌍의 반복자를 반환합니다. 쌍은 key와 동일한 키를 가진 컨테이너의 모든 요소를 포함하는 범위의 경계를 나타냅
다중 맵은 여러 요소가 동일한 키를 가질 수 있다는 점을 제외하고는 맵과 유사합니다. 키 값과 매핑된 값 쌍은 멀티맵에서 고유해야 합니다. 함수는 여기에서 사용됩니다 - mm::find() – 멀티맵에서 키 값이 b인 요소에 대한 반복자를 찾으면 반환하고, 그렇지 않으면 끝 부분에 대한 반복자를 반환합니다. mm::erase() – 멀티맵에서 키 값을 제거합니다. mm::equal_range() – 쌍의 반복자를 반환합니다. 쌍은 key와 동일한 키를 가진 컨테이너의 모든 요소를 포함하는 범위의 경계를 나타냅
다중 집합은 여러 요소가 동일한 값을 가질 수 있는 연관 컨테이너 유형입니다. 기능 및 설명: Functions are used here: ms.size() = Returns the size of multiset. ms.insert) = It is used to insert elements to the multiset. ms.erase() = Removes the value from the multiset. ms.find() = Return
STL의 Next_permutation은 [first, last] 범위의 요소를 사전순으로 더 큰 순열로 재배열하는 데 사용됩니다. 순열은 N! 요소가 취할 수 있는 가능한 조치. STL에서 Next_permutation을 구현하기 위한 C++ 프로그램입니다. 알고리즘 Begin Define one integer array variable elements[]. Get the number of data e from the user. Initialize the arr
쌍은 두 개의 데이터 개체로 구성된 간단한 컨테이너입니다. ‘first’ = The first element is referenced as ‘first’ ‘second’ = the second element and the order is fixed (first, second). 쌍을 할당, 비교 및 복사할 수 있습니다. 유형이 다를 수 있는 두 값을 결합하는 데 사용됩니다. 구문은 :pair변수명(datavalue1, datavalue2). 알고리즘 Begin
STL의 Prev_permutation은 [first, last] 범위의 요소를 사전순으로 더 작은 순열로 재배열하는 데 사용됩니다. 순열은 N! 요소가 취할 수 있는 가능한 조치. 다음은 STL에서 Prev_permutation을 구현하는 C++ 프로그램입니다. 알고리즘 Begin Define one integer array variable elements[]. Get the number of data e from the user. Initialize the a
우선 순위 대기열은 대기열의 첫 번째 요소가 대기열의 모든 요소 중 가장 큰 컨테이너 어댑터 유형입니다. 요소는 우선 순위 대기열에서도 내림차순이 아닙니다. 우선 순위가 높은 요소는 우선 순위 대기열에서 낮은 우선 순위의 요소보다 먼저 제공됩니다. 기능 및 설명: Functions used here: pq.size() = Returns the size of priority queue. pq.insert) = It is used to insert elements to the priorit
대기열은 대기열의 요소에 대해 작업이 수행되는 FIFO(선입선출) 순서를 따르는 선형 구조입니다. 알고리즘 Functions used here: q.size() = Returns the size of queue. q.push() = It is used to insert elements to the queue. q.pop() = To pop out the value from the queue. q.front() = Returns the fro
세트는 각 요소가 고유해야 하는 추상 데이터 유형입니다. 요소의 값이 이를 식별하기 때문입니다. 요소의 값은 세트에 추가되면 수정할 수 없지만 해당 요소의 수정된 값을 제거 및 추가하는 것은 가능합니다. 기능 및 설명: Functions used here: st.size() = Returns the size of set. st.insert() = It is used to insert elements to the set. st.erase() = To delete t
두 집합의 차이는 두 번째 집합이 아닌 첫 번째 집합에 있는 요소에 의해서만 형성됩니다. 함수에 의해 복사된 요소는 항상 동일한 순서의 첫 번째 집합에서 가져옵니다. 두 세트의 요소는 이미 주문해야 합니다. 일반적인 집합 연산은 - 합집합 교차로 설정 대칭 집합 차이 또는 배타적 논리합 차이 또는 빼기 설정 알고리즘 Begin Declare set vector v and iterator st. Initialize st = set_difference (set1, set1 + n,
두 집합의 교집합은 두 집합에서 공통적인 요소에 의해서만 형성됩니다. 함수에 의해 복사된 요소는 항상 동일한 순서의 첫 번째 집합에서 가져옵니다. 두 세트의 요소는 이미 주문해야 합니다. 일반적인 집합 연산은 - 합집합 교차로 설정 대칭 집합 차이 또는 배타적 논리합 차이 또는 빼기 설정 알고리즘 Begin Declare set vector v and iterator st. Initialize st = set_intersection (set1, set1 + n, set2, se
set_symmetric_difference를 구현하기 위한 C++ 프로그램입니다. 두 집합의 대칭적 차이는 집합 중 하나에는 있지만 다른 집합에는 없는 요소에 의해 만들어집니다. 일반적인 집합 연산은 - 합집합 교차로 설정 대칭 집합 차이 또는 배타적 논리합 차이 또는 빼기 설정 알고리즘 Begin Declare set vector v and iterator st. Initialize st = set_symmetric_difference (set1, set1 + n, set2, set2
두 집합의 합집합은 집합 중 하나 또는 둘 다에 있는 요소에 의해 생성됩니다. 첫 번째 집합에 동일한 요소가 있는 두 번째 집합의 요소는 결과 집합에 복사되지 않습니다. 일반적인 집합 연산은 - 합집합 교차로 설정 대칭 집합 차이 또는 배타적 논리합 차이 또는 빼기 설정 알고리즘 Begin Declare set vector v and iterator st. Initialize st= set_union (set1, set1 + n, set2, set2 +n, v.begin()))
이 C++ 프로그램에서는 STL에서 컨테이너 정렬을 구현합니다. 기능 및 설명: Functions used here: l.push_back() = It is used to push elements into a list from the front. l.sort() = Sorts the elements of the list. Where l is a list object. 예시 코드 #include <iostream> #include <list>
스택은 작업이 수행되는 특정 순서를 따르는 선형 데이터 구조입니다. 순서는 FILO(선입선출) 또는 LIFO(후입선출)일 수 있습니다. 알고리즘 Begin Declare stack vector. Take the input as per choice. Call the functions within switch operation: s.size() = Returns the size of stack. s.push() = It is used to insert elements to the stack. s.pop(
벡터는 요소가 삽입되거나 삭제될 때 동적 배열처럼 자동으로 크기를 조정할 수 있는 기능이 있으며 컨테이너는 자동으로 저장을 처리합니다. 벡터 요소는 반복자를 사용하여 액세스하고 탐색할 수 있도록 연속 스토리지에 배치됩니다. 벡터의 시작, 중간 또는 끝에서 데이터를 삽입하거나 삭제할 수 있습니다. 기능 및 설명: List of functions used here: v.size() = Returns the size of vector. v.push_back() = It is used to i