c中vector的用法的用法你知道吗?下面小编就跟你们详细介绍下c中vector的用法的用法,希望对你们有用。

c中vector的用法的用法如下:

1 基本操作

(1)头文件#include.

(2)创建vector对象,vector vec;

(3)尾部插入数字:vec.push_back(a);

(4)使用下标访问元素,cout<

(5)使用迭代器访问元素.

vector::iterator it;

for(it=vec.begin();it!=vec.end();it++)

cout<

(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

#include

#include

#include

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

else

{

if(length!=a.length)

return length

else

return width

}

}

}Rect;

int main()

{

vector vec;

Rect rect;

rect.id=1;

rect.length=2;

rect.width=3;

vec.push_back(rect);

vector::iterator it=vec.begin();

cout<

return 0;

}

复制代码

3  算法

(1) 使用reverse将元素翻转:需要头文件#include

reverse(vec.begin(),vec.end());将元素翻转(在vector中,如果一个函数中需要两个迭代器,

一般后一个都不包含.)

(2)使用sort排序:需要头文件#include,

sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).

可以通过重写排序比较函数按照降序比较,如下:

定义排序比较函数:

bool Comp(const int &a,const int &b)

{

return a>b;

}

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

c语言中vector的用法,c中vector的用法相关推荐

  1. c++语言中break的作用,c++ 中break的用法介绍

    break语句在c语言中的作用是结束跳出循环体,直接执行循环体以外的下一行语句 (1)如果是双层嵌套且break语句包含在内层循环体中,则是跳出内层循环,执行下一次外层循环: (2)如果是双层嵌套且b ...

  2. C语言 SLEEP函数不起作用,C语言中的sleep() 函数 sleep函数的具体用法

    导航:网站首页 > C语言中的sleep() 函数 sleep函数的具体用法 C语言中的sleep() 函数 sleep函数的具体用法 相关问题: 匿名网友: 关于sleep()函数在windo ...

  3. c语言中rand()的作用,c语言中rand()函数怎么用? rand函数的用法

    导航:网站首页 > c语言中rand()函数怎么用? rand函数的用法 c语言中rand()函数怎么用? rand函数的用法 相关问题: 匿名网友: rand(产生随机数) 相关函数 sran ...

  4. C语言中:在头文件中使用static定义变量意味着什么?

    C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...

  5. C语言中,求三个数中最大数

    C语言中,求三个数中最大数 #include<stdio.h>//以下是进行正整数的最大之间的比较,其他类型只需进行相应的格式修改 int main(){int a,b,c,max;//定 ...

  6. mysql中去重的用法_mysql中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  7. c 语言中cin用法,c中cin的用法

    c语言中 符号的用法你知道吗?下面小编就跟你们详细介绍下c语言中 符号的用法,希望对你们有用. c语言中 符号的用法如下: 1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: ...

  8. c语言中delete函数用法,c中delete的用法

    c中delete的用法的用法你知道吗?下面小编就跟你们详细介绍下c中delete的用法的用法,希望对你们有用. c中delete的用法的用法如下: "new"是C++的一个关键字, ...

  9. 在c语言中realloc_C和C ++编程中的realloc()

    在c语言中realloc There could be many situations while programming in C or C++ language when you need to ...

最新文章

  1. 【转载】Eclipse 最常用快捷键 (动画讲解),最简单的一些快捷键
  2. metasploit msfconsole 命令参数
  3. Java基础:常用IO流
  4. Java基础--继承、this、super、抽象类
  5. 一行代码不用写,就可以训练、测试、使用模型,这个 star 量 1.5k 的项目帮你做到...
  6. 设计模式---------门面模式
  7. 01_反射_02_反射类的构造方法
  8. Java命令行界面(第21部分):航空公司2
  9. 【ES6(2015)】String
  10. SQL ——利用窗口函数的T-SQL解决方案
  11. Vue3.x 推荐使用 mitt.js
  12. php进程池不释放,php-fpm 进程池优化方法
  13. java 视频合并_java 实现分段视频合并
  14. 传感器检测技术——概论
  15. php iis7.5_浅析iis7.5安装配置php环境
  16. 数据库中存储的是什么?数据库存取的是地址
  17. MySql超详细分析(InnoDb存储引擎,日志文件,调优,索引,主从复制简单操作等)
  18. 油相CdSe/ZnS量子点溶液 硒化镉/硫化锌量子点介绍及阐述
  19. 青少年编程究竟应该从什么语言学起?
  20. 关于1 problem (1 error, 0 warnings) 1 error and 0 warnings potentially fixable with the `--fix` 错误

热门文章

  1. 用废纸壳做计算机模型,[盒利用]废纸壳做飞机模型
  2. 19年6月25日足球推荐
  3. TCU-335xD直流充电桩计费控制单元 充电桩设计优良参考
  4. 李宏毅深度学习——机器终身学习
  5. RTC时钟:一个日历
  6. 用Engauge Digitizer软件提取文献中的数据
  7. 华为机试部分刷题记录
  8. 在进行IBEACON定位时的可视化处理
  9. 【软考软件评测师】第二十九章 可靠性可用性测试
  10. CSS 弹性布局(flex)的height计算