#include<iostream>
#include<string>
usingnamespace std;
template <typename T,intsize>class Orderedlist{
int maxsize;
int last;
Tslist[size];
public:
Orderedlist(){last=-1;maxsize=size;}
void BubbleSort();
bool Insert(T & elem,inti);
void print();
// 无关成员函数省略,缺省的=等不必定义
};//再次指出分号不可少
//Insert(T & elem,int i)和print()不再重复定义
template <typename T,int
size> void
Orderedlist<T,size>::BubbleSort(){//降序 bool noswap;
int i,j;
Ttemp;
for (i=last;i>0;i--){//从上往下冒泡,对比例6.8有何不同?
noswap=true; //未交换标志为真
for(j=0;j<i;j++){
if(slist[j]<slist[j+1]){//关键字比较只用小于号!
temp=slist[j];
slist[j]=slist[j+1];
slist[j+1]=temp;
noswap=false;
}
}
if(noswap) break; //本趟无交换,则终止算法。
}
}
int main(){
constint h=8;
int i;
Orderedlist<string,100>ordlist;
stringn[h];
stringsp[h]={"南京大学","东南大学","交通大学","清华大学",
"天津大学","复旦大学","浙江大学","同济大学"};
for(i=0;i<h;i++) n[i]=sp[i];
for(i=0;i<h;i++) ordlist.Insert(n[i],i); //建立顺序表
cout<<"未排序表:"<<endl;
ordlist.print();
ordlist.BubbleSort();
cout<<"已排序表:"<<endl;
ordlist.print();
return 0;
}
什么意思,该怎么解决这个问题
追答编写模板类时 类的实现和类的说明要在同一个文件中,拷贝过去编译。