#include template void arrayasc(T *,int array_length); template void swap(T &,T &); template void arraydec(T *a, int array_length); int main() { int a[]={5,4,3,2,-1,0}; arrayasc(a,6); for(int i=0;i<6;i++) cout<<*(a+i)<<" , "; cout< void arrayasc(T *a, int array_length) { for(int i=0;i<(array_length-1);) { if(*(a+i)>*(a+i+1)) { swap(*(a+i),*(a+i+1)); i=0; } else i++; } } template void swap(T &a,T &b) { a=a^b; b=a^b; a=a^b; } template void arraydec(T *a, int array_length) { for(int i=0;i<(array_length-1);) { if(*(a+i)<*(a+i+1)) { swap(*(a+i),*(a+i+1)); i=0; } else i++; } }