Bonjour,

Je suis débutant, et je ne comprends vraiment pas la fonction "Tri-Fusion" tirée de l'algorithme qui s'y rapporte. Je comprends la logique générale, mais j'ai beaucoup plus de mal avec l'implémentation.

J'ai écrit la fonction comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
int A[] = {5,1,3,7};
 
public static void triFusion(int A[], int p, int r) {
        int q;
        if(p < r){
            q = ((p+r)/2);
            triFusion(A, p, q);
            triFusion(A, q+1, r);
            Fusion(A, p, q, r);
        }
    }
Je ne comprends pas l'ordre d'appel des fonctions triFusion(A, p, q), triFusion(A, q+1, r) et Fusion(A, p, q, r). Quelqu'un peut-il m'expliquer ce qui se passe concrètement ?

Merci.