Swap
描述
用模板函数Swap实现对不同类型的数据进行交换。
并使用如下主函数测试。
int main()
{
int a1, a2;
std::cin >> a1 >> a2;
Swap(a1, a2);
std::cout << a1 << "," << a2 << std::endl;
double b1, b2;
std::cin >> b1 >> b2;
Swap(b1, b2);
std::cout << b1 << "," << b2 << std::endl;
char c1, c2;
std::cin >> c1 >> c2;
Swap(c1, c2);
std::cout << c1 << "," << c2 << std::endl;
return 0;
}
注意,本题只需要提交Swap函数代码,头文件和main函数系统已经提供。
输入
输入共三行。第一行两整数,第二行两浮点数,第三行两字符
输出
输出共三行。每一行为对应输入处理后的结果,输出的两个数用逗号隔开
输入样例 1
2 3 1.2 2.3 a b
输出样例 1
3,2 2.3,1.2 b,a
//注意,本题只需要提交Swap函数代码,头文件和main函数系统已经提供。
#include<iostream>
using namespace std;
template<typename T>
void Swap(T& t1, T& t2)
{
T temp = t1;
t1 = t2;
t2 = temp;
}
SortFunctionTemplate
描述
用模板函数实现数组的输入、排序和输出。并使用如下主函数测试你的模板
int main()
{
const int LEN = 5;
int type;
while (std::cin >> type)
{
switch (type)
{
case 0:
{
int a1[LEN];
Input<int>(a1, LEN); Sort<int>(a1, LEN); Output<int>(a1, LEN);
break;
}
case 1:
{
char a2[LEN];
Input(a2, LEN); Sort(a2, LEN); Output(a2, LEN);
break;
}
case 2:
{
double a3[LEN];
Input(a3, LEN); Sort(a3, LEN); Output(a3, LEN);
break;
}
}
}
return 0;
}
注意:本题只提交Input,Sort, Output函数代码。其余部分系统已包含。
输入
输入包含多组测试数据。每组数据为两行,第一行整数type(0、1、2)。第二行为相应数组的5个元素。
输出
对于每一组测试数据,将其排序后在一行内输出,相邻元素逗号空格分离,最后为换行。
输入样例 1
0 3 6 1 4 5 1 A B C B A
输出样例 1
1, 3, 4, 5, 6 A, A, B, B, C
#include<iostream>
using namespace std;
template<typename T>
void Input(T arr[], int len)
{
for (int i = 0; i < len; i++)
{
cin >> arr[i];
}
}
template<typename T>
void Swap(T &a, T &b)
{
T t = a;
a =