이 기사에서는 C++ STL에서 std::merge() 함수를 사용하여 두 개의 정렬된 배열을 빠르게 병합하는 방법에 대해 논의할 것입니다.
따라서 문제를 해결하기 전에 먼저 C++ STL의 std::merge()에 대해 논의해 보겠습니다.
std::merge()란 무엇입니까?
std::merge() 함수는
std::merge()를 사용하여 두 개의 정렬된 배열을 빠르게 병합하는 방법은 무엇입니까?
arr1[] 및 arr2[]라는 두 개의 정렬된 배열이 제공되고 작업은 이 두 개의 정렬된 배열을 병합하고 C++ STL에서 사용할 수 있는 merge() 함수를 사용하여 arr3[]이 될 수 있는 다른 빈 배열에 저장하는 것입니다. .
-
먼저 두 배열 arr[size_arr] 및 brr[size_brr]의 크기를 계산하고 크기가 두 배열 final[size_arr+size_brr]의 크기의 합인 세 번째 배열을 정의합니다.
-
그런 다음 merge(arr, (arr + size_arr), brr, (brr + size_brr), final)과 같은 merge() 함수를 사용하여 두 배열을 세 번째 배열로 병합합니다.
예시
#include <iostream> #include <algorithm> using namespace std; int main(){ int arr[] = {1, 2, 3}; int size_arr = sizeof(arr)/sizeof(arr[0]); int brr[] = {4, 5, 6}; int size_brr = sizeof(brr)/sizeof(brr[0]); int final[size_arr + size_brr]; merge(arr, (arr + size_arr), brr, (brr + size_brr), final); cout<<"Final array after merging the elements is: "; for (int i = 0; i < (size_brr + size_arr); i++) cout << final[i] << " "; return 0; }
출력
Final array after merging the elements is: 1 2 3 4 5 6