| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1557 人关注过本帖
标题:用unique实现去除非连续重复数字
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:3 
用unique实现去除非连续重复数字
程序代码:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

class F
{
    public:
        F(vector<int> t):_v(t){}
        bool operator()(int i,int j)
        {
            if(count(_v.begin(),_v.end(),i)!=1)
                return true;
            else
                return false;
        }
    private:
        vector<int> _v;
};
int main()
{
    vector<int> arr1{1,2,3,4,4,5,6,5,6};
    arr1.erase(unique(arr1.begin(),arr1.end(),F(arr1)),arr1.end());
    for_each(begin(arr1),end(arr1),[](int i)
    {
        cout<<i<<' ';
    });
    cout<<endl;
    return 0;
}

程序运行结果为1 2 3 4,正确结果应为1 2 3 4 5 6
求指教。
搜索更多相关主题的帖子: 重复 vector int end return 
2019-02-15 19:54
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:43
专家分:86
注 册:2018-11-9
收藏
得分:14 
程序代码:
#include<algorithm>
#include<iostream>
#include<cstring>
#include<vector>
int a[10]={1,2,3,4,4,5,6,5,6};
std::vector<int> b;
int main()
{
    std::ios::sync_with_stdio(false);
    int i,n=0;
    for(i=0;i<9;i++)
    {
        b.push_back(a[i]);
    }
    std::sort(b.begin(),b.end());
    b.erase(unique(b.begin(),b.end()),b.end());
    for(i=0;i<b.size();i++)
    {
        if(n==0)
        {
            std::cout<<b[i];
            n++;
        }
        else std::cout<<" "<<b[i];
    }
    //std::cout<<endl;
    return 0;
}


这个呢?
2019-02-17 11:05
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 幽竹烟雨
这个我会,我想在不改变原数组的顺序的情况下用unique的重载版本调用自己定义的function object来实现去除容器中非连续重复的数字
2019-02-17 11:15
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:43
专家分:86
注 册:2018-11-9
收藏
得分:0 
这个倒没有去深入研究,请教一下神犇们
2019-02-17 12:18
快速回复:用unique实现去除非连续重复数字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015949 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved