| ![[UCR]](../../../img/ucr02.gif)  | 
 
            Universidad de Costa Rica  | 
| ![[<=]](../../../img/back.gif)  ![[home]](../../../img/home.gif)  | ![[<>]](../../../img/index.gif)  | ![[\/]](../../../img/bottom.gif)  ![[=>]](../../../img/next.gif)  | 
SelectionSort()
| 
     var
       lowkey: keytype; { the currently smallest key found
           on a pass through A[i], . . . , A[n] }
       lowindex : integer; { the position of lowkey }
     begin
(1)    for i := 1 to n-1 do begin
          { select the lowest among A[i] ... A[n] and swap it with A[i] }
(2)       lowindex := i;
(3)       lowkey := A[i].key;
(4)       for j := i + 1 to n do
            { compare each key with current lowkey }
(5)         if A[j].key < lowkey then begin
(6)           lowkey := A[j].key;
(7)           lowindex := j
            end;
(8)      swap(A[i], A[lowindex])
       end
     end;
 |