Académique Documents
Professionnel Documents
Culture Documents
MMS - Algorithmique
Autre version de Fusion : Fonction Fusion(A: Tableau tri; B: Tableau tri): Tableau tri; tailleTfusion := taille de A + taille de B; Commentaire : on met juste + pour viter de lire en dehors des tableaux A := A auquel on a ajout une case en fin de tableau qui contient + ; B := B auquel on a ajout une case en fin de tableau qui contient + ; Tfusion := nouveau tableau de taille tailleTfusion; indiceA := 1; indiceB := 1; Pour indiceTfusion := 1 tailleTfusion faire Si A[indiceA] B[indiceB] alors Tfusion[indiceTFusion] := A[indiceA]; indiceA := indiceA + 1; Sinon Tfusion[indiceTFusion] := B[indiceB]; indiceB := indiceB + 1; FinSi FinPour Retourner Tfusion; FinFonction
Si L = [] Retourner [], [] Sinon L s'crit a::L' Si L' = [] Retourner [a], [] Sinon L' s'crit b::L'' L1, L2 := Diviser(L) Retourner a::L1, b::L2 FinSi FinSi FinFonction
Fonction Fusion(A, B: Listes tries): Liste trie; Si A = [] alors Retourner B Sinon si B = [] alors Retourner A Sinon A s'crit a::A' B s'crit b::B' et alors Si a < b alors Retourner a::Fusion(A', B); Sinon Retourner b::Fusion(A, B'); FinSi FinSi FinFonction