Tri fusion C
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Tri fusion C



  1. #1
    invite287358e5

    Tri fusion C


    ------

    Salut ,

    Je dois implementer un algorithme de tri fusion sur une chaine de caractere mais la sortie doit etre comme suit :



    voici l´algorithme que j´ai utilisé :
    Code:
    #include<string.h>
    
    void Merge(char *array, int left, int mid, int right){
    
        char tempArray[right-left+1];
    
        int pos=0,lpos = left,rpos = mid + 1;
    
        while(lpos <= mid && rpos <= right){
    
                if(array[lpos] <= array[rpos]){
    
                        tempArray[pos++] = array[lpos++];
    
              }
    
                else{
    
                        tempArray[pos++] = array[rpos++];
    
                }
    
        }
    
        while(lpos <= mid)  tempArray[pos++] = array[lpos++];
    
        while(rpos <= right)tempArray[pos++] = array[rpos++];
    
        int iter;
    
        for(iter = 0;iter < pos; iter++){
    
                array[iter+left] = tempArray[iter];
    
        }
    
        return;
    
    }
    
    void MergeSort(char *array, int left, int right){
    
        int mid = (left+right)/2;
    
        if(left<right){
    
                MergeSort(array,left,mid);
    
                MergeSort(array,mid+1,right);
    
                Merge(array,left,mid,right);
    
        }
    
    }
    
    int main (){ 
    
    char s[100];int n,d;
    
             scanf("%s",s);
    
        n=strlen(s);
    
        MergeSort(s,0,n-1);
    
        printf("%s",s); 
    
       return 0;}
    enfaite le probleme c´est que j´ai du mal a comprendre comment cet algorithme marche exactement ... a commencer par la récursivité .. ca serait super si quelqu´un pourrait m´eclairer pour que je puisse adapter mon code

    Merci !

    -----
    Dernière modification par Jack ; 29/10/2015 à 20h39. Motif: Balises code

  2. #2
    Jack
    Modérateur

    Re : Tri fusion C

    Merci de lire les règles participatives du forum info avant de poster car ce n'est pas à moi de mettre les balises code normalement



  3. #3
    invite287358e5

    Re : Tri fusion C

    ok désolé

  4. #4
    invite287358e5

    Re : Tri fusion C

    j´ai plus ou moins compris le principe de la recursivite dans la fonction mergesort mais je bloque des que j´essai manuellement la fonction tri fusion .. est ce que quelqu´un peut me monter juste comment ca se passe avec la premiere iteration ? Merci

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Fusion AOP
    Par invitec85fb8ec dans le forum Électronique
    Réponses: 36
    Dernier message: 12/10/2011, 20h35
  2. fusion (focus fusion)
    Par invite115a685a dans le forum Physique
    Réponses: 3
    Dernier message: 19/04/2011, 15h56
  3. fusion
    Par invite7f7e3b7b dans le forum Physique
    Réponses: 2
    Dernier message: 03/04/2010, 16h39
  4. Fusion
    Par invite9e4667b4 dans le forum Physique
    Réponses: 10
    Dernier message: 31/08/2007, 21h48
  5. La fusion
    Par invite6fe6a8a6 dans le forum Actualités
    Réponses: 9
    Dernier message: 24/04/2004, 15h03