本文共 1129 字,大约阅读时间需要 3 分钟。
目的:使用STL中的vector模板,设计并实现顺序表应用场合的一些简单算法设计。
应用3:试设计一个算法,删除顺序表L中的冗余元素,即使得操作之后的顺序表中只保留操作之前表中所有值都不相同的元素(提纯)。
参考函数原型:
template&L );
第一行:待处理顺序表的长度
第二行:待处理顺序表的数据元素(数据元素之间以空格分隔)
第一行:待处理顺序表的遍历结果
第二行:提纯结果
(输入与输出之间以空行分隔)
1013 5 13 9 32 51 76 5 9 8
13 5 13 9 32 51 76 5 9 8 13 5 9 32 51 76 8
#include#include using namespace std;/* description:show all the elements of the vector*/template void show(vector & A){ typename std::vector test = A; typename std::vector ::iterator iter; for(iter = test.begin();iter != test.end();iter ++) { cout<<*iter<<" "; } cout< void Purge_Sq(vector &L){ show(L); for(int i = 0 ;i < L.size() - 1;i ++) { for(int j = i + 1;j < L.size(); j++) { if(L.at(i) == L.at(j)) { L.erase(L.begin() + j); } } } cout< >Asize; vector A(Asize); string str; for(int i = 0 ;i < Asize;i ++) { cin>>str; A.at(i) = str; } Purge_Sq(A); return 0;}
转载地址:http://swwvb.baihongyu.com/