An Algorithm

void indexsort( vector<int> & data)
{
   int i, n = data.size();

   for (i = 0; i < n; i++)
   {
      while(data[i] != i)
         swap(data, i, data[i]);
   }
}

Analyze via upper bound.


next up previous
Next: Empirical Observation Up: POTENTIAL FUNCTION ANALYSIS Previous: In-Place Permutation Sorting