두 개의 정렬된 배열을 병합하는 C 프로그램
병합 정렬은 데이터를 한 번만 추가로 통과하면 되기 때문에 효율적인 정렬 알고리즘입니다. 또한 최악의 경우 성능 문제가 발생하지 않는 좋은 속성도 있습니다.
C 프로그래밍 언어를 사용하여 두 개의 정렬된 배열을 병합하는 방법
Merging two sorted arrays 프로그래밍 및 컴퓨터 과학의 일반적인 작업입니다. 배열은 대부분의 프로그래밍 언어에 있는 병합 기능을 사용하여 병합할 수 있습니다.
병합 함수는 길이가 같은 두 개의 정렬된 배열을 입력으로 사용하여 하나의 정렬된 배열로 병합합니다. 병합 기능은 각 배열의 첫 번째 요소를 비교하여 작동합니다. 두 배열의 첫 번째 요소가 같으면 두 번째 요소를 비교하고 같으면 세 번째 요소를 비교하는 식으로 두 배열 사이에 차이가 있거나 두 배열이 모두 확인될 때까지 계속합니다.
#include <stdio.h>
int main()
{
int n1,n2,n3; //Array Size Declaration
int a[10000], b[10000], c[20000];
printf("Enter the size of first array: ");
scanf("%d",&n1);
printf("Enter the array elements: ");
for(int i = 0; i < n1; i++)
scanf("%d", &a[i]);
printf("Enter the size of second array: ");
scanf("%d",&n2);
printf("Enter the array elements: ");
for(int i = 0; i < n2; i++)
scanf("%d", &b[i]);
n3 = n1 + n2;
for(int i = 0; i < n1; i++)
c[i] = a[i];
for(int i = 0; i < n2; i++)
c[i + n1] = b[i];
printf("The merged array: ");
for(int i = 0; i < n3; i++)
printf("%d ", c[i]); //Print the merged array
printf("\nFinal array after sorting: ");
for(int i = 0; i < n3; i++){
int temp;
for(int j = i + 1; j < n3; j++) {
if(c[i] > c[j]) {
temp = c[i];
c[i] = c[j];
c[j] = temp;
}
}
}
for(int i = 0; i < n3 ; i++) //Print the sorted Array
printf(" %d ",c[i]);
return 0;
}
Reference
이 문제에 관하여(두 개의 정렬된 배열을 병합하는 C 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamajaychaudhary/c-program-to-merge-two-sorted-arrays-4d6f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)