• C++实战学习笔记


    erase()

    (1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
    (2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
    (3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)

    unique

    unique是 c++标准模板库STL中十分实用的函数之一,使用此函数需要#include 头文件。该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素。
    (1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。
    (2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用std::sort()函数
    在这里插入图片描述
    unique函数通常和erase函数一起使用,来达到删除重复元素的目的。(注:此处的删除是真正的删除,即从容器中去除重复的元素,容器的长度也发生了变换;而单纯的使用unique函数的话,容器的长度并没有发生变化,只是元素的位置发生了变化。

    #include
    #include
    #include
    using namespace std;
     
    int main()
    {
        vector<int> a ={1,3,3,4,5,6,6,7};
        vector<int>::iterator it_1 = a.begin();
        vector<int>::iterator it_2 = a.end();
        vector<int>::iterator new_end;
        new_end = unique(it_1,it_2); //注意unique的返回值
        a.erase(new_end,it_2);
        cout<<"删除重复元素后的 a : ";
        for(int i = 0 ; i < a.size(); i++)
            cout<<a[i];
        cout<<endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    vector的insert()

    在C++中,std::vector 是一个动态数组容器,可以在运行时动态地增加或减少其大小。std::vector 提供了一个成员函数叫做 insert(),它可以用于在指定位置插入一个或多个元素。

    #include 
    #include 
    
    int main() {
        std::vector<int> myVector = {1, 2, 3, 4, 5};
    
        // 在位置 2 插入元素 10
        myVector.insert(myVector.begin() + 2, 10);
    
        // 在位置 1 插入 3 个元素,值为 7
        myVector.insert(myVector.begin() + 1, 3, 7);
    
        // 创建一个新的 vector
        std::vector<int> newElements = {8, 9, 10};
    
        // 在位置 3 插入新 vector 中的所有元素
        myVector.insert(myVector.begin() + 3, newElements.begin(), newElements.end());
    
        // 输出结果
        for (int num : myVector) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    std::string::npos

    std::string::npos是一个常数,它等于size_type类型可以表示的最大值,用来表示一个不存在的位置,类型一般是std::container_type::size_type。

  • 相关阅读:
    leetcode - 365周赛
    单元测试,写起来到底有多痛?你会了吗
    高级架构师_Elasticsearch_第二章kibana+IK分词器安装+索引操作+ 映射操作
    [题] 子矩阵的和 #二维前缀和
    SAP的MIGO移动类型
    几个易错的python小知识点
    人工智能-线性神经网络
    5.用户注册_表单验证——使用wtforms-tornado表单数据验证
    华为OD刷题C卷 - 每日刷题 7(字符串分隔(二)、欢乐的周末)
    深入props --React进阶指南笔记
  • 原文地址:https://blog.csdn.net/xuranyi/article/details/134253475