HELP!! Counting sort

di il
2 risposte

HELP!! Counting sort

Raga mica avete esempi di counting sort in c++?? Help!! E' urgentissimo!! Grazie ciao raga!

2 Risposte

  • Re: HELP!! Counting sort

    <font color=blue>
    void countingSort(int* A, int lengthA)
    {
    //Cacolo degli elementi max e min
    int max=A[0];
    int min=A[0];
    int i=1;
    for(; i<lengthA; i++){
    if(A[i]>max) max=A[i];
    else if(A[i]<min) min=A[i];
    }
    //Costruzione dell'array C
    int lengthC=max-min+1;
    int C[lengthC]; //crea l'array C
    for(i=0; i<lengthC; i++) C[i]=0; //inizializza a zero gli elementi di C
    for(i=0; i<lengthA; i++)
    C[A[i]-min]++; //aumenta il numero di volte che si è incontrato il valore
    //Ordinamento in base al contenuto dell'array delle frequenze C
    int k=0; //indice per l'array A
    for(i=0; i<lengthC; i++){
    int valore=i+min;
    while(C[i]>0){ //scrive C[i] volte il valore nell'array A
    A[k++]=i+min;
    C[i]--;
    }
    }
    }</font id=blue>
    Per qualsiasi cosa , ricorda Wiki...
    http://it.wikipedia.org/wiki/Counting_sor
  • Re: HELP!! Counting sort

    Ah,per completezza, è C quello...
Devi accedere o registrarti per scrivere nel forum
2 risposte