03模板学习之函数模板案例-写一个int,char通用的冒泡
1 直接看代码
// 模板测试.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
template<typename Sort>
void MySort(Sort *arr, int len) {
if (arr == NULL) {
return;
}
for (int i = 0; i < len; i++) {
for (int j = i; j < len - 1; j++) {
if (arr[j] > arr[j + 1]) {
Sort tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
template<class T>
void Printf(T *arr, int len) {
for (auto i = 0; i < len; i++) {
std::cout << arr[i] << " ";
}
std::cout<<std::endl;
}
int main(){
int a[] = { 1,5,7,4,6,9 };
int len = sizeof(a) / sizeof(int);
Printf<int>(a, len);
MySort<int>(a, len);
Printf<int>(a, len);
char c[] = { 'a','c','b','r','d'};
int clen = sizeof(c) / sizeof(char);
Printf<char>(c, clen);
MySort<char>(c, clen);
Printf<char>(c, clen);
return 0;
}