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

Array at beginning: 

84 69 76 86 94 91
 
= 1st sub-array
84 69 76 86 94 91
 
= 2nd sub-array
84 69 76 86 94 91
  84 76 69 86 94 91
  86 84 76 69 94 91
  94 86 84 76 69 91

2nd sub-array empty

94 91 86 84 76 69

// Insertion Sort Function for Descending Order
void InsertionSort( apvector &num)
{
     int i, j, key, numLength = num.length( );
     for(j = 1; j < numLength; j++)    // Start with 1 (not 0)
    {
           key = num[j];
           for(i = j - 1; (i >= 0) && (num[i] < key); i--)   // Smaller values move up
          {
                 num[i+1] = num[i];
          }
         num[i+1] = key;    //Put key into its proper location
     }
     return;
}