一、问题描述:
使用template函数模板对一个长度为5的int数组和char数组元素进行排序(升序)。
二、代码:
#include <iostream>
using namespace std;
template<typename T>
void swapWWW(T &a, T &b) {
T c = a;
a = b;
b = c;
}
template <typename T>
void sortWWW(T *s, int count) {
for (int i = 0; i < count; i++) {
for (int j = 0; j < count -i; j++) {
if (s[j-1] > s[j]) {
swapWWW(s[j-1], s[j]);
}
}
}
}
template <typename T>
void show(T* s, int count) {
for (int i = 0; i < count; i++) {
cout << (i == 0 ? "" : ",");
cout << s[i];
} cout << endl;
}
int main() {
int is[5] = {2, 4, 3, 1, 5};
char cs[5] = {'E', 'C', 'B', 'D', 'A'};
cout << "Before Sort : " << endl;
show(cs, 5);
show(is, 5);
sortWWW(cs, 5);
sortWWW(is, 5);
cout << "After Sort : " << endl;
show(cs, 5);
show(is, 5);
return 0;
}
三、执行结果