首页 > 代码库 > 顺序容器的insert用法

顺序容器的insert用法

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <list>
using namespace std;

//顺序容器的insert用法
//顺序容器:vector,deque,list,forward_list,array,string

//-------------------------------------------------
//array不支持这些操作
//forward_list有自己专有版本的insert
//-------------------------------------------------

//1、c.insert(iter, val)
//在迭代器iter指向的元素之前创建一个值为val的元素
void ins1()
{
    list<int> c{1,2,3,4};
    list<int>::iterator iter = c.begin();
    int val = 10;
    c.insert(iter, val);
}
//2、c.insert(iter, n, val)
//在迭代器iter指向的元素之前插入n个值为val的元素
void ins2()
{
    list<int> c{1,2,3,4};
    list<int>::iterator iter = c.begin();
    int n = 3, val = 10;
    c.insert(iter, n, val);
}
//3、c.insert(iter, b, e)
//将迭代器b和e指定的范围内的元素插入到迭代器iter指向的元素之前
//注:b和e不能指向c中的元素
void ins3()
{
    list<int> c1{1,2,3,4};
    list<int> c2{5,6,7,8};
    auto iter = c1.begin();
    auto b = c2.begin(), e = c2.end();
    c1.insert(iter, b, e);
}
//4、c.insert(iter. il)
//il是一个花括号包围的元素值列表,将这些给定的值插入到迭代器iter指向的元素之前
void ins4()
{
    list<int> c{1,2,3,4};
    auto iter = c.begin();
    c.insert(iter, {-3,-2,-1,0});
}
int main()
{
    return 0;
}