مرتب سازی (Selection Sort)

Array at beginning:  84 69 76 86 94 91
After Pass #1: 84 91 76 86 94 69
After Pass #2: 84 91 94 86 76 69
After Pass #3:  86 91 94 84 76 69
After Pass #4:  94 91 86 84 76 69
After Pass #5 (done):  94 91 86 84 76 69


// Selection Sort Function for Descending Order
void SelectionSort(apvector &num)
{
      int i, j, first, temp;
      int numLength = num.length( );
      for (i= numLength - 1; i > 0; i--)
     {
           first = 0;                 // initialize to subscript of first element
           for (j=1; j<=i; j++)   // locate smallest between positions 1 and i.
          {
                 if (num[j] < num[first])
                 first = j;
          }
         temp = num[first];   // Swap smallest found with element in position i.
         num[first] = num[i];
         num[i] = temp;
     }
     return;
}