1.利用函数模板封装一个排序的函数,可以对不同的数据类型数组进行排序。
2.利用的排序算法是选择排序。
代码语言:javascript复制#include<iostream>
#include<fstream>
#include<string>
using namespace std;
template<class T>
void mySwap(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
template<class T>
void selectSort(T arr[],int len) {
for (int i = 0; i < len; i ) {
int max = i;
for (int j = i 1; j < len; j ) {
if (arr[max]< arr[j]) {
max = j;
}
}
if (max != i) {
mySwap(arr[max], arr[i]);
}
}
}
template<class T>
void printArr(T arr[],int len) {
for (int i = 0; i < len; i ) {
cout << arr[i] <<" ";
}
cout << endl;
}
void test() {
char charArr[] = "badcfe";
int len = sizeof(charArr) / sizeof(char);
selectSort(charArr, len);
printArr(charArr,len);
}
void test2() {
int intArr[] = {8, 6, 2, 1, 5, 4, 3, 7};
int len = sizeof(intArr) / sizeof(int);
selectSort(intArr, len);
printArr(intArr, len);
}
int main() {
test();
test2();
system("pause");
return 0;
}
输出: