Я пытаюсь реализовать код для сортировки слиянием. Я использую следующий код для сортировки слиянием, которую вы можете посмотреть на здесь . Проблема в том, что когда я запускаю программу, например, я просил ее отсортировать массив [1, 2, 3, 4, 6, 5], а затем распечатать отсортированный массив, он возвращает массив [-1560047667 1 2 3 4 5]. Из того, что я заметил, он не будет правильно печатать значение самого большого элемента в массиве. Мой код ниже:
#include<stdio.h>
#include<stdlib.h>
void merge_sort(int A[], int start, int end){
My code for merge sort
goes here
}
int main(){
int n, i, *A;
A = (int *)malloc(n);
scanf("%d", &n);
for(i=0; i<n; i++) scanf("%d", A+i);
merge_sort(A, 0, n);
for(i=0; i<n; i++) printf("%d", *(A+i));
}
Любое предложение о том, какую ошибку я совершил? Я думаю, что проблема в процессе ввода / вывода, но не совсем уверен, что именно.