Ordinare due elementi


Scambiare i valori contenuti nell'array v alle posizioni a e b
...
SCAMBIA(v, a, b);
...
PROCEDURA SCAMBIA(IN/OUT REALE v[], IN INTERO a, IN INTERO b)
INIZIO
   REALE temp

   temp=v[a]
   v[a]=v[b]
   v[b]=temp
FINE

oppure, se il linguaggio prevede il passaggio per riferimento (per parametri semplici)
...
SCAMBIA(v[a], v[b])
...

PROCEDURA SCAMBIA(IN/OUT REALE a, IN/OUT REALE b)
INIZIO
   REALE temp

   temp=a
   a=b
   b=temp
FINE


Ordinare un array di due elementi

SE(v[0] > v[1]) ALLORA
   SCAMBIA(v, 0, 1)

oppure, senza la chiamata...

SE(v[0] > v[1]) ALLORA
   INIZIO
      REALE temp
      temp=v[0]
      v[0]=v[1]
      v[1]=temp
   FINE


Esempio
Sia v=(20, 15) allora
SCAMBIA(v, 0, 1)

produce v=(15, 20)

Ordinare un sottoarray di due elementi

SE(v[i] > v[i+1]) ALLORA
   SCAMBIA(v, i, i+1)


Esempio
Sia v=(20, 15, 10, 3) allora
SCAMBIA(v, 1, 2)

produce v=(20, 10, 15, 3)
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki