您的位置:首页 > 其它

如何快速方便的输出向量vector容器中不重复的内容

2013-09-15 23:33 411 查看
在vector容器中,存入的内容难免会出现重复,那么如何快速输出或提前非重复的那些数据呢,即重复的数据只输出一次,直观的方法是每次输出都要通过循环比较是否已经输出过,这种方法还是比较费时的,可以利用unique函数简化代码,例子:

#include
"stdafx.h"
#include
<iostream>
#include
<vector>
#include
<algorithm>
#include
<string>
using namespace std;

int_tmain(int argc, _TCHAR* argv[])
{

    strings;
    unsigned
int size =0;
    vector<string>v;
    cout<<"输入个字符串:"<<endl;
    while(size<5)
    {
       cin>>s;
       v.push_back(s);
       ++size;
    }
 
    cout<<"输入的字符串为:"<<endl;
    copy(v.begin(),v.end(),ostream_iterator<string>(cout,"\n"));
    cout<<"排序后的结果为:"<<endl;
    sort(v.begin(),v.end());
    copy(v.begin(),v.end(),ostream_iterator<string>(cout,"\n"));
    cout<<"不输出重复的结果:"<<endl;
    vector<string>::iteratore = unique(v.begin(),v.end());
    for(vector<string>::iterator b=v.begin(); b!=e;b++)
    {
       cout<<*b<<endl;
    }
    //再次输出排序后的结果
    cout<<"再次输出排序后的结果:"<<endl;
    copy(v.begin(),v.end(),ostream_iterator<string>(cout,"\n"));
 
    return 0;
}

输出结果为:

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: