|
|
|
@ -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 ret[tailleG+tailleD]
|
|
|
|
|
int ret[tailleG+tailleD];
|
|
|
|
|
int iG=0, iD=0;
|
|
|
|
|
while (i1<tlogi1&&i2<tlogi2){
|
|
|
|
|
while (iG<tailleG&&iD<tailleD){
|
|
|
|
|
if(tabNoteG[iG]<=tabNoteD[iD]){
|
|
|
|
|
retNote[iG+iD]=tabNoteG[iG];
|
|
|
|
|
ret[iG+iD]=tabG[iG];
|
|
|
|
@ -246,13 +246,14 @@ int* fusion(int tabG[],int tailleG, int tabNoteG[], int tabD[], int tailleD, int
|
|
|
|
|
iD++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (iD==tabD){
|
|
|
|
|
while(iG<tabG){
|
|
|
|
|
if (iD==tailleD){
|
|
|
|
|
while(iG<tailleG){
|
|
|
|
|
retNote[iG+iD]=tabNoteG[iG];
|
|
|
|
|
ret[iG+iD]=tabG[iG];
|
|
|
|
|
iG++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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+taille/2,tabNoteD,taille);
|
|
|
|
|
int ret[taille];
|
|
|
|
|
ret=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);
|
|
|
|
|
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),ret,taille);
|
|
|
|
|
tabcpy(retNote,tabNote,taille);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|