2000 – 16

Dire quale dei programmi seguenti ordina il vettore di interi v contenente n elementi:

  1. for(i=0; i < n; i++)
    {
        m=i;
        for(j=i+1; j < n; j++)
            if(v[j] < v[m]) m=j;
        t=v[m];
        v[m]=v[i];
        v[i]=t;
    }
  2. for(i=0; i < n; i++)
    {
        m=v[i];
        for(j=i; j < n; j++)
            if(j < m) m=j;
        t=v[m];
        v[m]=v[i];
        v[i]=t;
    }
  3. for(i=0; i < n; i++)
    {
        m=i;
        for(j=i+1; j < n; j++)
            if (v[j] < v[m]) m=j;
        t=v[m];
        v[m]=v[j];
        v[j]=t;
    }

Soluzione: a.


Si tratta dell'algoritmo di ordinamento selection sort.