zoukankan      html  css  js  c++  java
  • vector 去除重复元素(sort + unique)

    struct SIndexData
    {
    	string sCode;
    	int iDate;
    	int iTime;
    	double f1;
    	SIndexData():
    	iDate(0),
    	iTime(0)
    	{
    	}
    
    	bool operator == (const SIndexData & obj) const //重载 == 操作符
    	{
    		return sCode == obj.sCode && iDate == obj.iDate && iTime == obj.iTime;
    	}
    
    	bool operator < (const SIndexData & obj) const //重载 < 操作符
    	{
    		return sCode == obj.sCode && iDate == obj.iDate && iTime < obj.iTime;
    	}
    };
    
    struct SIndex
    {
    	vector<SIndexData> vData;
    };
    
    int main()
    {
    	SIndex sIndex;
    	SIndexData sIndexData;
    	sIndexData.sCode = "000001";
    	sIndexData.iDate = 20171025;
    	sIndexData.iTime = 94000;
    	sIndexData.f1 = 7.5;
    	sIndex.vData.push_back(sIndexData);
    
    	SIndexData sIndexData1;
    	sIndexData1.sCode = "000001";
    	sIndexData1.iDate = 20171025;
    	sIndexData1.iTime = 94000;
    	sIndexData1.f1 = 7.8;
    	sIndex.vData.push_back(sIndexData1);
    
    	sort(sIndex.vData.begin(), sIndex.vData.end()); //使用sort()进行排序,排序后的相同元素集中出现
    	sIndex.vData.erase(unique(sIndex.vData.begin(), sIndex.vData.end()), sIndex.vData.end());
              //unique()函数将重复的元素放到vector的尾部 然后返回指向第一个重复元素的迭代器 再用erase函数擦除从这个元素到最后元素的所有的元素。
    }
    

      

  • 相关阅读:
    计算后的样式
    getElementsByTagName
    notepad++ 行首行尾添加字符
    Http协议基础知识
    HTTP工作流程
    URI URL URN的区别
    [转] Android利用Fiddler进行网络数据抓包
    微信公众号 跳转到小程序
    现金红包 接口开发注意事项
    现金红包 样式问题
  • 原文地址:https://www.cnblogs.com/SZxiaochun/p/7732250.html
Copyright © 2011-2022 走看看