C 언어 병합 정렬
836 단어 병합 정렬
#include <stdio.h>
#define LENA 10
#define LENB 5
void MergeSort( int * array1 , int len1 , int * array2 , int len2 )
{
int i = 0 , j = 0 , k = 0;
int data[LENA+LENB] = { 0 };
while ( k < LENA+LENB )
{
if ( array1[i] < array2[j] )
{
if ( i < len1 )
{
data[k] = array1[i];
i++;
}
else
{
data[k] = array2[j];
j++;
}
}
else
{
if ( j < len2 )
{
data[k] = array2[j];
j++;
}
else
{
data[k] = array1[i];
i++;
}
}
k++;
}
for ( int a = 0 ; a < k ; a++ )
{
printf( "%d " , data[a] );
}
printf( "
" );
}
void main()
{
int a[] = { 0 , 1 , 2 , 3 , 5 , 9 , 11 , 100 , 1000 , 9999 };
int b[] = { 9 , 11 , 100 , 300 , 1000 };
MergeSort( a , LENA , b , LENB );
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 정렬 알고리즘 요약 병합 정렬병합 조작(merge)은 병합 알고리즘이라고도 하는데 이미 정렬된 두 서열을 하나의 서열로 합친 조작을 가리킨다.빠른 정렬과 유사하게 자바에서 통합된 것을 살펴봅시다. 병합 정렬(Merge)은 두 개 이상의 순서표를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.