实验目的: 1.了解list的动态增长原理 2.熟练掌握list的基本操作 实验器材: C++ 实验内容: 两个学生信息系统,包含某中学的学生信息,其中包含学号,姓名,成绩,合并两个文件,删除重复记录,并排序(学号) 实验步骤: #include<iostream> #include<list> using namespace std; class Stu { string sno; string name; double score; public: Stu(string s,string n,double c) { sno=s; name=n; score=c; } void show() { cout<<sno<<" "<<name<<" "<<score<<endl; } bool operator<(Stu s) { return sno<s.sno; } bool operator==(Stu s) { return sno==s.sno; } }; class WenJian { list<Stu> p;//成员对象 public: WenJian(Stu *first,Stu *last):p(first,last){} //WenJian():p(sa,sa+3){} void hebing(WenJian wjb) { p.sort(); wjb.p.sort(); //从小到大 p.merge(wjb.p);// < 重载 p.unique(); } void disp() { list<Stu>::iterator i=p.begin(); for(;i!=p.end();i++) i->show(); cout<<endl; } }; int main() { Stu sa[]={Stu("002","zhang",56),Stu("001","lisi",89),Stu("003","wang",78)}; Stu sb[]={Stu("004","hu",89),Stu("002","zhang",56)}; WenJian wja(sa,sa+3); WenJian wjb(sb,sb+2); wja.hebing(wjb); wja.disp(); return 0; } 实验结果(附数据和图表): 实验结果分析及结论: 实验成功,成功的完成了两个文件的合并,并删除重复记录排序。 在Wenjian类中,用sort进行排序,然后用merge进行合并,用unique进行去除重复项。完成这些需要进行运算符的重载,在Stu中进行运算符<和==的重载。
|
C++STL实验之list容器的应用
最新推荐文章于 2024-06-14 14:40:57 发布