2개의 배열의 모든 요소를 하나의 배열에 합치는 방법을 소개합니다.
1. for문을 이용하여 하나의 배열로 합치기
기본적인 접근 방법으로, 두 배열의 모든 요소 개수 크기의 배열을 생성합니다. 그리고 두 배열의 요소들을 새로 생성한 배열에 모두 넣을 수 있습니다.
#include <iostream>
#include <algorithm>
int main() {
int arr1[] = { 1, 2, 3 };
int arr2[] = { 4, 5, 6, 7 };
int m = sizeof(arr1)/sizeof(arr1[0]);
int n = sizeof(arr2)/sizeof(arr2[0]);
int result[m + n];
for (int i = 0; i < m + n; i++) {
if (i < m) {
result[i] = arr1[i];
} else {
result[i] = arr2[i - m];
}
}
for (int i = 0; i < m + n; i++) {
std::cout << result[i] << ' ';
}
return 0;
}
Output:
1 2 3 4 5 6 7
2. copy()를 이용하여 하나의 배열로 합치기
copy(first, last, d_first)
는 배열의 요소 범위를 다른 배열에 복사합니다. 이 메소드를 이용하여 두개의 배열을 하나의 배열로 합칠 수 있습니다.
함수에 대한 설명은 예제 코드 아래에 있습니다.
#include <iostream>
#include <algorithm>
int main()
{
int arr1[] = { 1, 2, 3 };
int arr2[] = { 4, 5, 6, 7 };
int m = sizeof(arr1)/sizeof(arr1[0]);
int n = sizeof(arr2)/sizeof(arr2[0]);
int result[m + n];
std::copy(arr1, arr2 + m, result);
std::copy(arr2, arr2 + n, result + m);
for (int i = 0; i < m + n; i++) {
std::cout << result[i] << ' ';
}
return 0;
}
Output:
1 2 3 4 5 6 7
copy()
의 정의는 아래와 같으며 다음과 같은 인자를 받습니다.
OutputIt copy(InputIt first, InputIt last, OutputIt d_first);
- first: 복사하는 배열의 시작 위치
- last: 복사하는 배열의 끝 위치
- d_first: 복사되는 배열의 시작 위치
Loading script...
Related Posts
- [C++] 배열을 리스트(list)로 변환
- [C++] 배열에서 특정 요소 제거
- [C++] vector 모든 요소의 합계 계산
- [C++] 두개의 배열이 같은지 비교
- [C++] 배열에 특정 요소가 있는지 확인
- [C++] 2차 배열 복사 방법
- [C++] 배열 복사하는 방법 (copy, memcpy)
- [C++] 함수의 인자로 배열 전달
- [C++] vector 모든 값의 평균 계산
- [C++] vector를 문자열로 변환
- [C++] 배열에서 요소의 Index 찾기
- [C++] 배열의 중복 요소 찾기
- [C++] 배열의 중복 요소 제거
- [C++] 배열 순서 거꾸로 뒤집기
- [C++] char 배열을 string으로 변환
- [C++] string을 char 배열로 변환
- [C++] 문자열 거꾸로 뒤집기
- [C++] vector의 중복 요소 제거
- [C++] 두 배열을 하나의 배열로 합치기
- [C++] 배열 길이, 크기 얻는 방법
- [C++] 배열에서 최대값, 최소값 찾기 (3가지 방법)
- [C++] int를 string으로 변환, 3가지 방법
- [C++] 문자열 리스트(Vector, 배열) 정렬
- [C++] string의 문자 정렬
- [C++] string을 int로 변환, 3가지 방법
- [C++] string 대문자/소문자 변환 방법
- [C++] string.compare() 문자열 비교
- [C++] int를 char로 변환, 3가지 방법
- [C++] 문자열 자르기, 3가지 방법
- [C++] isdigit(), 어떤 문자가 숫자인지 확인
- [C++] strlen(), 문자열 길이 계산
- [C++] strcmp(), strncmp() 함수로 문자열 비교
- [C++] strstr(), 특정 문자열 찾기