【2024.1.12】C++STL容器常用方法

发布时间:2024年01月13日

Vector

1.构造函数

#include <vector>
//直接通过数组创建一个vector
vector<int> vecA = {1, 2, 3, 4};

//复制迭代器区间内的元素到vector中
vector<int> vecB(vecA.begin(), vecA.end());

//复制另一个数组的元素到vector中
int Array[4] = {1, 2, 3, 4};
vector<int> vecC(Array, Array+4);

//复制构造函数
vecD = vecA;

//创建一个vector,元素个数为3,且值均为6
vector<int> vecE(3, 6);

2.增加、删除、判断、赋值函数

#include <vector> 
vector<int> vecA;
//向量中迭代器指向元素前增加一个元素x
vecA.insert(vecA.begin()+3, x);

//删除向量中迭代器指向元素
vecA.erase(vecA.begin()+3);

//返回向量第i个元素(i=0开始)
cout<<vecA.at(i);

//设置向量中前4个元素的值为10
vecA.assign(4,10);

//向量中[first,last)中元素设置成当前向量元素
vecB.assign(vecA.begin()+3,vecA.end()-2);

List

List容器中大多函数和Vector容器相同,都有.begin()/.end()等,但由于链表的特殊结构,没有at函数与[ ]操作符,迭代器只能++逐一递增,但链表拥有反向迭代器:reverse_iterator

1.头尾函数

#include <list>
list<int> li;
//头插法&尾插法
li.push_front(8);
li.push_back();
li.pop_front();
li.pop_back();

//获取、修改头尾结点
li.front() = 1;
li.back() = 3;

文章来源:https://blog.csdn.net/FeAtherHZM/article/details/135557488
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。