Я написал обычный код сортировки массива слияния, и все, что я хочу сделать, это позвонить на эту функцию с помощью «asize», а не с номером, но вместо получения [1 2 3 4 5 6 7 8 9 10] обычный отсортированный массив я получаю [1 2 -858993460 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