顺序容器的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;
}

顺序容器的insert用法

时间: 2024-08-10 07:56:10

顺序容器的insert用法的相关文章

C++学习基础四——顺序容器和关联容器

—顺序容器:vector,list,queue1.顺序容器的常见用法: #include <vector> #include <list> #include <queue> (1)vector声明 vector<string> svec;(2)添加元素: c.push_back(t): 在容器 c 的尾部添加值为 t 的元素.返回 void 类型  c.push_front(t):在容器 c 的前端添加值为 t 的元素.返回 void 类型 只适用于 lis

顺序容器和关联容器的特点&amp;STL各容器粗略对比

顺序容器和关联容器的特点1.所有的关联容器都会自动排序,但map和set不允许重复元素,而multimap和multiset允许重复元素 2.关联容器中,map和multimap的key和val是分开的,而set和multiset的key和val是相同的 3.除了vector和deque的迭代器为随机迭代器之外,其余容器的迭代器都是双向迭代器,不能进行++操作 4.顺序容器的insert函数的三种形式为: iterator insert(iterator position, value_type

C++ Primer学习总结 第9章 顺序容器

第9章 顺序容器 1.    顺序容器如果有一个只需要容器大小参数的默认构造函数,该函数使用的是元素的默认构造函数来构造每个元素对象,如果该容器的元素没有默认构造函数,那么就不能使用这个容器的该构造函数P294: 2.    容器进行拷贝初始化时,两个容器的元素必须同类型. 但是如果列表初始化,或迭代器范围初始化容器,那么只要求列表中元素或迭代器所指元素可以转化为容器的元素即可. 3.    容器类型可以直接通过=号赋值(包括array容器数组类型): 注意:assign仅适用于顺序容器(但不适

C++ Primer(第五版) 第九章:顺序容器

练习9.1:考察使用哪种顺序容器 (a)list,当需要在容器中任意位置执行插入/删除操作时,用list最好 (b)deque,当需要在头部插入/删除元素,不需要在容器中间任意位置插入/删除元素时,用deque最好 (c)vector,当不需要在头部/任意位置插入/删除元素的情况下,用vector最好 练习9.2:考察对容器可以保存的元素类型的限制 list<deque<int>>lst1; list<deque<int> >lst2;     //在编译器

c++顺序容器(1)

1.顺序容器 C++标准库中有三种顺序容器:vector list deque vector:支持快速随机访问,在尾部之外的位置插入或删除元素可能较慢 list:支持快速插入/删除,只支持双向顺序访问 deque:双端队列,支持快速随机访问,头尾插入和删除速度很快 还有array(不能添加和删除),forward_list,String(保存字符) 2.哪种顺序容器好? 通常,使用vector. (1)如果要求在容器的中间插入和删除元素,应使用list或forward_list. (2)如果只在

C++primer(第五版)第九章 顺序容器(容器的运用及其部分习题解答,C++11特性总结,重点章节内容较多)

顺序容器:为程序员提供了控制元素存储和访问顺序的能力.(无序容器)           1.顺序容器的概述           A.顺序容器的类型           vector:可变大小数组.支持快速随机访问.在尾部之外的位置插入或删除元素可能很慢.          deque:双端队列.支持快速随机访问.在头尾位置插入/删除速度很快.           list:双向链表.只支持双向顺序访问.在list中任何位置进行插入/删除操作速度都很快.          forword_list

顺序容器(二)--《C++ primer》

 前面已经简单介绍了顺序容器的定义以及一些操作,包括(添加,删除等),下面主要集中以代码的形式简单介绍一下相关用法,首先创建并初始化vector对象,一般有两大类: 1.分配指定数目元素,并初始化(分两种)          vector<int> ivec(10): vector<int> ivec(10,1): 2.把vecotr对象初始化为一段元素的副本 int a[10]={1,2,3,4,5,6,7,8,9,10}: vector<int> ivec(a,

c++顺序容器(2)

1.向顺序容器添加元素 c.push_back(t);c.emplace_back(args);//在c的尾部创建一个值为t或由args创建的元素,返回void.若在头部,back改为front c.insert(p,t);c,emplace(p,args);   c.insert(p,n,t);(插入n个)  c.insert(p,b,e);(迭代器范围) c.insert(p,i1);(列表) 注:a.除array和forward_list外,每个顺序容器都支持push_back. b.只有

C++ Primer 第九章顺序容器

一.综述 <vector>:可变大小数组.支持快速随机访问.在尾部之外的位置插入或删除元素可能很慢. <deque>:双端队列.支持快速随机访问.在头尾位置插入/删除速度很快. <list>:双向链表.只支持双向顺序访问.在list中任何位置进行插入/删除操作速度都很快. <forward_list>:单向链表.只支持单向顺序访问.在链表任何位置进行插入/删除操作速度都很快. <array>:固定大小数组.支持快速随机访问.不能添加或删除元素.