C++ vector用法
C++ vector用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。
1 基本操作
(1)头文件#include<vector>.
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.
vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++)cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();
2
vector的元素不仅仅可以使int,double,string,还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。下面是一段简短的程序代码:
#include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace std;typedef struct rect {int id;int length;int width; //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。 bool operator< (const rect &a) const { if(id!=a.id) return id<a.id; else { if(length!=a.length) return length<a.length; else return width<a.width; } } }Rect;int main() {vector<Rect> vec;Rect rect;rect.id=1;rect.length=2;rect.width=3;vec.push_back(rect);vector<Rect>::iterator it=vec.begin();cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; return 0;}
3 算法
(1) 使用reverse将元素翻转:需要头文件#include<algorithm>
reverse(vec.begin(),vec.end());将元素翻转(在vector中,如果一个函数中需要两个迭代器,
一般后一个都不包含.)
(2)使用sort排序:需要头文件#include<algorithm>,
sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).
可以通过重写排序比较函数按照降序比较,如下:
定义排序比较函数:
bool Comp(const int &a,const int &b)
{
return a>b;
}
调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。
C++ vector用法相关推荐
- boost::mpl::vector用法的测试程序
boost::mpl::vector用法的测试程序 实现功能 C++实现代码 实现功能 boost::mpl::vector用法的测试程序 C++实现代码 #include <boost/han ...
- boost::fusion::vector用法的测试程序
boost::fusion::vector用法的测试程序 实现功能 C++实现代码 实现功能 boost::fusion::vector用法的测试程序 C++实现代码 #include <boo ...
- c vector用法是什么
在c 中,vector是一个十分有用的容器,c vector用法是: 1.基本操作 (1)头文件#include. (2)创建vector对象,vector vec; (3)尾部插入数字:vec.pu ...
- STL中map和string, vector 用法详解
1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...
- STL vector用法介绍
STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...
- bk-02 C++ vector用法 博客园
HappyWorking! 博客园 管理 C++ vector用法 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vect ...
- C++ map用法总结和vector用法总结
本文仅是用于自己查找方便而写,并不专业,如果想看详解,请查看C++ map用法总结(整理)和C++ Vector的用法总结(整理) map用法总结 map是STL的一个关联容器,为key和value的 ...
- c语言 vector用法,C++ vector用法初记
C++ vector用法小记 最近在leetcode上面做题,STL的vector用的甚多,这里稍微的总结下vector的一些常用方法,包括一维的和二维的,暂时能想到的就给记下了. 一维vector ...
- C++ STL初学之vector用法及使用
一.在C++中的详细说明 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库. vector之所以被认为是一个容器,是因为它能够像容器一样存放各种 ...
最新文章
- kali最新国内更新源sources
- 【工具】公网临时大文件传输工具,文件发送,高速文件传输方法
- 基于LSTM的情感分类案例:Tensorflow代码
- linux编辑文本文件aa的命令,linux入门必须掌握的命令--文本文件编辑
- C语言实现DES加解密算法
- Spring Boot系列教程七:Spring boot集成MyBatis
- 锁定计算机好在下游戏吗,巧用win7锁定计算机防止孩子沉迷游戏
- 【SQL】含有NULL值的排序
- React Native 首次加载白屏优化
- Futter基础第16篇: 实现单行文本框、多选框
- mysql 中文 转 拼音_MySQL中文转换成拼音的函数
- thinkpad锁屏壁纸存放目录
- aurora 64B/66B ip核设置与例程代码详解
- c语言中等于号和大于号的优先级,C 读书笔记之 关系运算符重载 大于号 小于号 等于号==...
- JS-DOM操作基础
- 在win10系统中应用iverilog(Icarus verilog)学习笔记
- PAT 甲级 1015. Reversible Primes
- Ubuntu Budgie 22.04 设置中文语言并安装拼音输入法
- Python super( ) 函数详解
- 金庸的「射雕三部曲」,其实还有一个隐藏的第一部
热门文章
- shell判定一个变量等于-n_Shell test命令:条件判断,检查某条件是否成立
- python代替shell脚本_python的简洁是shell无法代替的
- java音频采样_音频重采样的坑
- 安装应用需要打开未知来源权限_打开安卓这个开关 不让流氓软件肆意妄为
- python jieba词频统计英文文本_python实战,中文自然语言处理,应用jieba库来统计文本词频...
- 正在等待语音服务器回应,Python如何突破正在等待服务器响应的阻塞生成器?
- python自动发送邮件不需要发件邮箱_python使用QQ邮箱实现自动发送邮件
- mysql bug_MySQL 记一次 Bug发现过程
- 【学习笔记】第一章——操作系统的中断和异常
- python等腰梯形_简单空实心图形打印|Python练习系列[3]