#include<iostream>
using namespace std;

template <class T>
void sort(T *ptr, int size)
{
   int i, j;
   T temp;
   for(i=0; i<size; i++)
   {
      for(j=0; j<size-1; j++)
      {
         if(ptr[j+1] < ptr[j])   //*(ptr+j)
         {
            temp = ptr[j+1];
            ptr[j+1] = ptr[j];
            ptr[j] = temp;          
         }         
      }        
   }    
} 

template <class atype>
void display(atype *ptr, int size)
{
   int i;  
   for(i=0; i<size; i++)
      cout<<ptr[i]<<"  ";
   cout<<endl;  
}

main()
{
   int a[5]={5, 4, 6, 1, 0};
   float d[5]={6.75, 5.67, 9.33, 1.5, 0.85}; 
   char c[] = {'z','x','b','c','a'};
   cout<<"double array "<<endl;
   sort (d, 5);
   display(d, 5);
   cout<<"int array "<<endl;
   sort(a, 5);
   display(a, 5);
   cout<<"char array "<<endl;
   sort (c, 5);
   display(c, 5);
   system("pause");
}
