使用模板写函数可以给多个类型使用,这样就能减少代码量。
#define _CRT_SECURE_NO_WARNIGS
#include <iostream>
using namespace std;
//对char类型和int类型数组进行排序
//打印函数
template <class T>
void PrintArray(T* arr, int len) {
for (int i = 0; i < len; i++)
{
cout << arr[i] << ends;
}
cout << endl;
}
//排序
template <class T>
void MySort(T* arr, int len) {
for (int i = 0; i < len-1; i++)
{
for (int j = i+1; j < len; j++)
{
if (arr[i]>arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main(void)
{
//数组
int arr[]={ 23,4,5,6,8,1,3 };
//数组长度
int len = sizeof(arr) / sizeof(int);
//排序之前
cout << "排序之前为:";
PrintArray(arr, len);
//排序
MySort(arr, len);
//排序之后
cout << "排序之后为:";
PrintArray(arr, len);
//数组
char chArr[] = { 'a','c','b','p','t','w','z' };
//数组长度
len = sizeof(chArr) / sizeof(char);
//排序之前
cout << "排序之前为:";
PrintArray(chArr, len);
//排序
MySort(chArr, len);
//排序之后
cout << "排序之后为:";
PrintArray(chArr, len);
return 0;
}
程序运行结果如下