ZBLOG

unique(nums.begin(), nums.end()

std::unique() 是一个算法函数,用于在范围内去除相邻的重复项。它需要接收两个迭代器参数,表示要处理的范围。

在使用 std::unique() 时,需要确保将范围内的元素进行排序,以便将相邻的重复项放在一起。然后,std::unique() 将返回一个指向新的逻辑结尾(不包括重复项)之后位置的迭代器,并且原始容器会被修改以擦除重复项。

以下是一个示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> nums = {1, 2, 3, 3, 4, 4, 5};

    // 对 nums 进行排序并去除相邻重复项
    std::sort(nums.begin(), nums.end());
    auto it = std::unique(nums.begin(), nums.end());

    // 擦除多余的重复项
    nums.erase(it, nums.end());

    // 输出结果
    for (const auto& num : nums) {
        std::cout << num << " ";
    }
    
    return 0;
}

运行上述代码会输出:1 2 3 4 5,可以看到成功去除了重复项。请注意,在使用 std::unique() 前需要对容器中的元素进行排序。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=13266

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?