J'ai une fonction qui fusionne deux tableaux triés en un et lui renvoie un pointeur. Je veux utiliser une boucle for plutôt que d'un moment. Cependant, dans certains cas de test, les 1 ou 2 derniers éléments du tableau de fusion ne sont pas à leur place. J'apprécierais que quelqu'un puisse aider à résoudre ce problème en gardant la boucle for.Fusion de deux tableaux triés avec la boucle for
int * mergeSort(int arr1[], int arr2[],int len)
{
/* len is the combined length of the two arrays */
static int sorted[100];
int pos1=0, pos2=0;
for (int i=0; i<len; i++)
{
if (arr1[pos1]<=arr2[pos2])
{
sorted[i]=arr1[pos1];
pos1++;
}
else
{
sorted[i]=arr2[pos2];
pos2++;
}
}
return sorted;
}
Comment gérez-vous la fin des tableaux d'entrée? – krzaq
Je ne comprends pas pourquoi j'ai besoin de vérifier après la fin. Pouvez-vous donner un exemple avec 2 tableaux où je passerais devant? – SoloNasus
Bien sûr. '[1,2,3], [101,102,103]' – krzaq