STL模板(一)向量、栈和队列

本文介绍了C++ STL中的向量、双向链表、双端队列、普通队列和优先队列。详细阐述了它们的定义、头文件、常见用法和操作,包括插入、删除、排序等。此外,还对比了向量与链表、队列的特点,强调了在不同场景下选择合适数据结构的重要性。
摘要由CSDN通过智能技术生成

一.vector-向量

1.定义:向量类型可以容纳许多类型的数据,被称为容器——可以当数组使用,可以随时增加或减少元素,内存连续,顺序表。

2.头文件: #include<vector>

3.常见用法:

vector<int> d(n); 定义一个存放int类型的容量为n的容器

vector<int> d(n,0); 定义一个存放int类型的容量为n的容器,并初始化每个元素为0

vector<int> d(b); 定义一个数组d,把b内所有元素拷贝至d中

vector<vector<<int>> d(n,vector<int>(m)) 定义二维数组

d.push_back(x); x存入数组末尾(自动扩充内存)

d.insert(d.begin()+y,x); 在y处插入x

d.assign(d.begin()+c,b.begin(),b.begin()+x) ;将b的前x个元素插入d的c位置

d.erase(i); 删除第i个元素

d.erase(d.begin(),d.begin()+x);  删除前x个元素

d.size();   返回d内元素数目

d.front();  返回d的最后一个元素

d.back(); 返回d的第一个元素

d.empty(); 返回d是否为空

d.resize(c,0); 将d中元素数目控制在c个,多删,少补用0补可以缺省,用随机数补

d.pop_back(); 删除d的最后一个元素

d.clear();  将d清空

读取方式:for(int i=0;i<a.size();i++)cout<<a[i]<<" ";//下标方式获取

                  for(vector<int>::iterator it=a.beign();it!=a.end();it+&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值