vector容器用法
vector是一个容器,能够存放各种类型的对象。
一、定义与初始化
vector< T> c2; // 创建一个空的vector
vector< T> c(n) // 创建一个vector,含有n个数据,数据均已缺省构造产生
vector< T> c(n, elem) // 创建一个含有n个elem拷贝的vector
二、析构函数
c.~vector () // 销毁所有数据,释放内存
c.clear(); // 移除容器中所有数据。
三、成员函数
1. 赋值与swap
c1 = c2
c1 = {a, b, c...}
a.swap(b) //交换a和b元素
swap(a, b) //交换a和b元素
2. 大小和判空
c.size() //c中元素数目
c.max_size() //c可保存的最大元素数目
c.empty() //为空则返回true,否则返回false
3. 获取迭代器
vector<int>::iterator b; //定义一个迭代器
c.begin() //传回迭代器中的第一个数据地址
c.end() //只想迭代器中末端元素的下一个,指向一个不存在的元素
vector<int>::reserse_iterator c; //定义一个反向迭代器
c.rbegin() //传回一个逆向队列的第一个数据
c.rend() //传回一个逆向队列的最后一个数据的下一个位置
4. vector的操作
c.push_back(elem) //在末尾开辟新空间,并插入元素elem
c.insert(pos, elem) //在pos位置插入elem
c.insert(pos, n, elem) //在pos位置插入n个elem数据
c.clear() //移除容器中所有的数据
c.erase(pos) //删除pos位置的数据,传回下一个数据的位置
c.erase(beg, end) //删除[beg, end)区间的数据,传回下一个数据的位置
c.pop_back() //删除最后一个数据
5. 排序
// 升序:
sort(data.begin(),data.end()) //然后正序输出
// 降序
sort(data.rbegin(),data.rend()) //然后正序输出
sort(data.begin(),data.end())
reverse(data.begin(),data.end())
sort(data.rbegin(),data.rend()) //然后逆序序输出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具