#include<iostream>
using namespace std;
void swap(int a,int b) {
int temp = a;
a = b;
b = temp;
}
template<class T>
void mySort(T arr[],int len) {
for (int i = 0; i < len-1;i++) {
int min = i;
for (int j = i + 1; j < len;j++) {
if (arr[j]<arr[min]) {
min = j;
}
}
swap(arr[min],arr[i]);
}
}
template<class T>
void print(T arr[],int len){
for (int i = 0; i < len;i++) {
cout << arr[i] << " ";
}
cout << endl;
}
void test() {
char charArray[] = "abcdef";
int len = sizeof(charArray) / sizeof(charArray[0]);
mySort(charArray,len);
print(charArray, len);
}
int main() {
test();
system("pause");
return 0;
}
template的调用两种方法
1,自动推导
int a=10;
int b=20;
swap(a,b);
2.显示类型(可以发生类型转换)
int a=10;
int b=20;
swap<int>(a,b);
空模板可以强制调用函数模板