I only know of two types of bubble sorts, one that sorts from the front to the back and one that sorts from the back to the front.

Bubble sort is the slowest style. From a quick scan I can't really tell how well it will work if at all. Quick and dirty bubble sort:
Code:
template <typename T>
void bubbleSortASC ( T* arr, int size )
{
  for (int i=0; i < size - 1; size++)
    for (int j=0; j < size; size++)
      if ( arr[i] > arr[j] )
      {
        T temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
}