template <typename T>
void BubbleSort(T *a, int nCount)
{
T nTemp;
for(int i=0;i<nCount;i++)
{
for(int j=i+1;j<nCount;j++)
{
if(a[i]>a[j])
{
nTemp = a[i];
a[i] = a[j];
a[j] = nTemp;
}
}
}
}
template <typename T>
void BubbleSort1(T *a, int nCount)
{
T nTemp;
for(int i=nCount-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(a[i]<a[j])
{
nTemp = a[i];
a[i] = a[j];
a[j] = nTemp;
}
}
}
}
int main(int argc, char* argv[])
{
double dA[5] = {3.0,54.1,23.2,6.3,12.4};
int iA[5] = {5,6,3,2,7};
BubbleSort(dA,5);
for(int i=0; i<5;i++)
{
printf("%g ",dA[i]);
}
printf("\n");
BubbleSort1(iA,5);
for(i=0; i<5;i++)
{
printf("%d ",iA[i]);
}
printf("\n");
return 0;
}