• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++中vector容器的用法

C++中vector容器的用法

作者:金河 字体:[增加 减小] 来源:互联网 时间:2017-05-28

金河 通过本文主要向大家介绍了c++容器vector,c++ vector用法,c++中vector的用法,求c++中vector用法,c++中vector等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在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;
</div>

(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;
}
</div>

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;
}
</div>

调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。

以上所述是小编给大家介绍的C++中 vector容器的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++中vector和map的删除方法(推荐)
  • C++中vector容器的用法
  • C++中vector容器使用详细说明
  • C++实现 vector 的四则运算
  • C++中vector容器的常用操作方法实例总结
  • C++中vector的用法实例解析

相关文章

  • 2017-05-28解决不用sizeof求出int大小的方法
  • 2017-05-28深入分析C语言分解质因数的实现方法
  • 2017-05-28c语言中if 语句的作用范围示例代码
  • 2017-05-28C++中实现队列类链式存储与栈类链式存储的代码示例
  • 2017-05-28C语言之实现控制台光标随意移动的实例代码
  • 2017-05-28浅析C++中memset,memcpy,strcpy的区别
  • 2017-05-28c++输出斐波那契数列示例分享
  • 2017-05-28gdb调试命令的使用及总结
  • 2017-05-28C++临时性对象的生命周期详细解析
  • 2017-05-28简单总结C语言中各种类型的指针的概念

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • MFC控件大小随窗体大小而改变
    • C语言中强制地址跳转详解
    • c语言程序设计文件操作方法示例(CreateFile和fopen)
    • C语言中设置进程优先顺序的方法
    • C语言金币阵列问题解决方法
    • C++读写INI配置文件的类实例
    • C++实现读取特定路径下文件夹及文件名的方法
    • 探讨:将两个链表非降序合并为一个链表并依然有序的实现方法
    • 用c语言根据可变参数合成字符串的实现代码
    • C++变位词问题分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有