• STL—vector删除重复元素


    STL提供了很多实用的算法,这里主要讲解sort和unique算法。

    删除重复元素,首先将vector排序。

    sort( vecSrc.begin(), vecSrc.end() );

    然后使用unique算法。

     vecSrc.erase( unique( vecSrc.begin(), vecSrc.end() ), vecSrc.end() );

    unique返回值是重复元素的开始位置。

    如果vector中存储的元素是自定义的结构或者是类,那么就需要重载操作符。

    根据类的某一个成员变量排序或者比较。

    sort算法需要重载"<"操作符。

    unique算法需要重载"=="操作符。

    操作符重载的示例如下:

    class CTest

    ……

    public:

        BOOL operator<( const CTest& oCompany ) const
        {
            return this->m_nCompanyId < oCompany.m_nCompanyId;
        }

        BOOL operator==( const CECompany& oCompany ) const
        {
            return this->m_nCompanyId == oCompany.m_nCompanyId;
        }

    }

  • 相关阅读:
    winfrom 对话框
    容器控件
    简单记事本整理
    公共控件
    winfrom。布局
    ado 小测试
    ado.not--更改精简练习
    ado.not--数据库防字符串注入攻击学习及 练习
    ado.not--练习题
    ado.not--添加练习题
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693650.html
Copyright © 2020-2023  润新知