本文为作者自学C++所进行的一些训练,如有错误请不吝指教。
#include<iostream>
using namespace std;
template<class T>
void ArraySwap(T arr[],int len )
{
for (int i = 0; i < len; i++)
{
int max = i;
for (int j = i + 1; j < len; j++)
{
if (arr[max] < arr[j])
{
max = j;
}
}
if (max != i)
{
T temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
}
}
template <class W>
void ArrayPrint(W arr[],int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i];
}
cout << endl;
}
int main()
{
char arr[] = "bcd";
int len = sizeof(arr) / sizeof(char);
ArraySwap(arr,len);
ArrayPrint(arr,len);
int arr1[] = { 4,6,3,7 };
int len1 = sizeof(arr1) / sizeof(int);
ArraySwap(arr1,len1);
ArrayPrint(arr1,len1);
return 1;
}
运行结果
dcb
7643
//成功