<span style="font-size:24px;">#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
template <typename T>
void Swap(T& a,T& b)
{
T t = a;
a = b;
b = t;
}
int main()
{
int a = 1;
int b = 2;
cout << "---------------自动类型推倒调用--------------------" << endl;
Swap(a,b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
float fa = 3;
float fb = 4;
Swap(fa,fb);
cout << "fa = " << fa << endl;
cout << "fb = " << fb << endl;
char ca = 'a';
char cb = 'b';
cout << "---------------具体类型显示调用--------------------" << endl;
Swap<char>(ca,cb);
cout << "ca = " << ca << endl;
cout << "cb = " << cb << endl;
return 0;
}</span>
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
template <typename T>
void Swap(T& a,T& b)
{
T t = a;
a = b;
b = t;
}
template <typename T>
void SelectSort(T array[],int length)
{
for(int i=0;i<length;i++)
{
T min = array[i];
int index = i;
for(int j=i+1;j<length;j++)
{
if(array[j] < min)
{
min = array[j];
index = j;
}
}
Swap(array[i],array[index]);
}
}
template <typename T>
void Display(T array[],int length)
{
for(int i=0;i<length;i++)
{
cout << array[i] << endl;
}
}
int main()
{
cout << "----------整形序列排序----------" << endl;
int array[] = {4,2,5,1,7,6};
int len = sizeof(array)/sizeof(array[0]);
SelectSort<int>(array,len);
Display(array,len);
cout << "----------字符序列排序----------" << endl;
char ca[] = {'d','b','f','a','c'};
len = sizeof(ca)/sizeof(ca[0]);
SelectSort<char>(ca,len);
Display(ca,len);
return 0;
}