CCF-CSP考试复习准备资料汇总(同样适用于所有算法比赛,程序设计竞赛),超级详细,超级全面!容器篇(文章包含所有常见容器及其常用函数)

(温馨提示:本文章适合有一定基础的同学考前熟悉)

包含:vector,stack,queue,map,set,pair,string等常见容器的定义常用函数注意事项

超级详细,超级全面,考个350绝对够用了!(大佬也不会来看我这个的)

第一次正式写东西,好多东西用不熟练,之后会慢慢改进的,大家请多指教!


Vector

指定长度初始值初始化

        vector<int> v(n);        // 定义一个长度为n的数组,初始值默认为0,下标范围[0, n - 1]

        vector<int> v(n, 1);    // v[0] 到 v[n - 1]所有的元素初始值均为1

        //注意:指定数组长度之后(指定长度后的数组就相当于正常的数组了)

初始化中有多个元素

        vector<int> a{1, 2, 3, 4, 5};//数组a中有五个元素,数组长度就为5

常用函数:

c.front()                          //返回第一个数据O ( 1 ) O(1)O(1)

c.back()                          //返回数组中的最后一个数据 O ( 1 ) O(1)O(1)

c.pop_back()                  //删除最后一个数据O ( 1 ) O(1)O(1)

c.push_back(element)   //在尾部加一个数据O ( 1 ) O(1)O(1)

c.size()                           //返回实际数据个数(unsigned类型)O ( 1 ) O(1)O(1)

c.clear()                          //清除元素个数O ( N ) O(N)O(N),N为元素个数

c.resize(n, v)                  //改变数组大小为n,n个空间数值赋为v,如果没有默认赋值为0

c.insert(it, x)                   //向任意迭代器it插入一个元素x ,O ( N ) O(N)O(N)

       //例:c.insert(c.begin() + 2,-1)      //将-1插入c[2]的位置

c.erase(first,last)            //删除[first,last)的所有元素,O ( N ) O(N)O(N)

c.begin()                        //返回首元素的迭代器(通俗来说就是地址)O ( 1 ) O(1)O(1)

c.end()                           //返回最后一个元素后一个位置的迭代器(地址)O ( 1 ) O(1)O(1)

c.empty()                       //判断是否为空,为空返回真,反之返回假 O ( 1 ) O(1)O(1)

sort(c.begin(), c.end());

vector<int> a(n + 1);

sort(a.begin() + 1, a.end()); // 对[1, n]区间进行从小到大排序

访问:

vector<int> vi;                                 //定义一个vi数组

vector<int>::iterator it = vi.begin();  //声明一个迭代器指向vi的初始位置


stack

常用函数:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值