Gå til innhold

Shellsort eksamenoppgave


Anbefalte innlegg

Hei, sitter med en liten oppgave under "teori" delen på eksamen i algmet. Oppgaven lyder som følger:

 

"Vi skal utføre Shellsort på keyene "Tombolabua". Jfr kode s 109 i læreboka. For hver gang indre for-løkke er ferdig (etter a[j] = v;)

 

Tegn opp arayen og skriv verdiene til h og i underveis i sorteringen. Marker spesielt de keyene som har vært involvert i sorteringen.

 

Koden:

 

void shellsort (itemType a[], int N)

{

int i, j, h; itemType v;

 

for (h = 1; h <= N/9; h = 3*h+1);

for ( ; h > 0; h /=3)

for (i = h +1; i <=N; i += 1;

{

v = a; j = i;

while (j>h && a[j-h]>v)

{a[j]= a[j-h]; j-=h};

a[j] = v;

 

}

 

}

 

de 2 første svarene i oppgaven er:

 

H: 4 I: 5 OombTlabua 'O' vandrer forbi 'T'.
H: 4 I: 6 oLmbtOabua 'L' vandrer forbi 'O'

 

jeg kommer kun fram til bokstaven "O" men får ikke opp "T" på noe tidsspunkt. Noen som kunne prøvd å forklare hvordan han kommer fram til disse to svarene? mulig jeg tolker koden feil..

 

Takk for svar :)

Endret av bchpls
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...