Ajustements.

master
Yann CHAMPEAU 3 years ago
parent 9949e8048a
commit 6b360d3208

@ -225,9 +225,9 @@ int* tri_fusion(int* tabNote, int* tabIDCandidatAttente, int taille)
}*/ }*/
int* fusion(int tabG[],int tailleG, int tabNoteG[], int tabD[], int tailleD, int tabNoteD[], int retNote[]){ int* fusion(int tabG[],int tailleG, int tabNoteG[], int tabD[], int tailleD, int tabNoteD[], int retNote[]){
int ret[tailleG+tailleD] int ret[tailleG+tailleD];
int iG=0, iD=0; int iG=0, iD=0;
while (i1<tlogi1&&i2<tlogi2){ while (iG<tailleG&&iD<tailleD){
if(tabNoteG[iG]<=tabNoteD[iD]){ if(tabNoteG[iG]<=tabNoteD[iD]){
retNote[iG+iD]=tabNoteG[iG]; retNote[iG+iD]=tabNoteG[iG];
ret[iG+iD]=tabG[iG]; ret[iG+iD]=tabG[iG];
@ -246,13 +246,14 @@ int* fusion(int tabG[],int tailleG, int tabNoteG[], int tabD[], int tailleD, int
iD++; iD++;
} }
} }
if (iD==tabD){ if (iD==tailleD){
while(iG<tabG){ while(iG<tailleG){
retNote[iG+iD]=tabNoteG[iG]; retNote[iG+iD]=tabNoteG[iG];
ret[iG+iD]=tabG[iG]; ret[iG+iD]=tabG[iG];
iG++; iG++;
} }
} }
return ret;
} }
int* tri_fusion_rec(int tabIDCandidatAttente[], int tabNote[], int taille){ int* tri_fusion_rec(int tabIDCandidatAttente[], int tabNote[], int taille){
@ -262,8 +263,8 @@ int* tri_fusion_rec(int tabIDCandidatAttente[], int tabNote[], int taille){
tabcpy(tabNote,tabNoteG,taille/2); tabcpy(tabNote,tabNoteG,taille/2);
tabcpy(tabNote+taille/2,tabNoteD,taille); tabcpy(tabNote+taille/2,tabNoteD,taille);
int ret[taille]; int ret[taille];
ret=fusion(tri_fusion_rec(tabIDCandidatAttente,tabNoteG,taille/2),taille/2,tabNoteG,\ tabcpy(fusion(tri_fusion_rec(tabIDCandidatAttente,tabNoteG,taille/2),taille/2,tabNoteG,\
tri_fusion_rec(tabIDCandidatAttente+taille/2,tabNoteD,taille-taille/2),taille-taille/2,tabNoteD,retNote); tri_fusion_rec(tabIDCandidatAttente+taille/2,tabNoteD,taille-taille/2),taille-taille/2,tabNoteD,retNote),ret,taille);
tabcpy(retNote,tabNote,taille); tabcpy(retNote,tabNote,taille);
return ret; return ret;
} }

Loading…
Cancel
Save