나는 정규 병합 정렬 코드를 작성 했으므로이 함수를 'asize'와 숫자가 아닌 recieving 함수로 호출하면됩니다. 1 2 3 4 5 6 7 8 9 10] 는 일반 정렬 된 배열 난 [-858993460 1 2 3 4 5 6 7 8 9]잘못된 병합 정렬 결과
당신은을 통해 스테핑있어이
void merge_sort(int *a,int first, int last)
{
int middle;
if(first < last)
{
middle=(first+last)/2;
merge_sort(a,first,middle);
merge_sort(a,middle+1,last);
merge(a,first,middle,last);
}
}
void main()
{
int a[] = {9, 7, 2, 3, 5, 4, 1, 8, 6, 10};
int asize= (sizeof a/sizeof a[0]);
merge_sort(a, 0, asize);
For (i = 0; i < 10; i++)
printf ("%d ", a[i]);
당신이 왜 explian하시기 바랍니다 수 있습니다 나를 그런데, 거기
쉬운 수정 :-) 제공하지 마십시오, 변경하는 것입니다? – Alexxx