设计一个类模板,其中包括数据成员 T a[n]以及对其进行排序的成员函数sort(),模板参数T可实例化成字符串。
提示:重载sort()
PS:这个题目最初没有考虑到输入的问题,修改一下,大家在主函数里预定义不同类型的数组,键盘键入改为字符'f' 'c' 's' 之一,分别表示进行浮点数组、字符数组和字符串数组的排序。如何?
#include<iostream>
#include<string>
using namespace std;
template<class T>
void sort(T a[],int n)
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{ if(a[j]>a[j+1])
{
T m=a[j];
a[j]=a[j+1];
a[j+1]=m;
}
}
int k=0;
for(k=0;k<n;k++)
cout<<a[k]<<", ";
cout<<a[k]<<endl;
}
int main()
{
char c;
double b[]={4,1.2,2.3,2.3};
char e[]={'C','a','b','2'};
string d[]={"abcd","abc","ABC","a"};
cin>>c;
if(c=='c') sort(e,3);
else if(c=='f') sort(b,3);
else if(c=='s') sort(d,3);
return 0;
}
本文介绍了一个通用的模板函数,用于实现不同类型数组的排序操作。该函数能够处理包括浮点数、字符和字符串在内的多种数据类型,并通过简单的键盘输入选择不同的排序目标。

被折叠的 条评论
为什么被折叠?



