c语言中vector的用法,c中vector的用法
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的用法相关推荐
- c++语言中break的作用,c++ 中break的用法介绍
break语句在c语言中的作用是结束跳出循环体,直接执行循环体以外的下一行语句 (1)如果是双层嵌套且break语句包含在内层循环体中,则是跳出内层循环,执行下一次外层循环: (2)如果是双层嵌套且b ...
- C语言 SLEEP函数不起作用,C语言中的sleep() 函数 sleep函数的具体用法
导航:网站首页 > C语言中的sleep() 函数 sleep函数的具体用法 C语言中的sleep() 函数 sleep函数的具体用法 相关问题: 匿名网友: 关于sleep()函数在windo ...
- c语言中rand()的作用,c语言中rand()函数怎么用? rand函数的用法
导航:网站首页 > c语言中rand()函数怎么用? rand函数的用法 c语言中rand()函数怎么用? rand函数的用法 相关问题: 匿名网友: rand(产生随机数) 相关函数 sran ...
- C语言中:在头文件中使用static定义变量意味着什么?
C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...
- C语言中,求三个数中最大数
C语言中,求三个数中最大数 #include<stdio.h>//以下是进行正整数的最大之间的比较,其他类型只需进行相应的格式修改 int main(){int a,b,c,max;//定 ...
- mysql中去重的用法_mysql中去重 distinct 用法
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- c 语言中cin用法,c中cin的用法
c语言中 符号的用法你知道吗?下面小编就跟你们详细介绍下c语言中 符号的用法,希望对你们有用. c语言中 符号的用法如下: 1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: ...
- c语言中delete函数用法,c中delete的用法
c中delete的用法的用法你知道吗?下面小编就跟你们详细介绍下c中delete的用法的用法,希望对你们有用. c中delete的用法的用法如下: "new"是C++的一个关键字, ...
- 在c语言中realloc_C和C ++编程中的realloc()
在c语言中realloc There could be many situations while programming in C or C++ language when you need to ...
最新文章
- 【转载】Eclipse 最常用快捷键 (动画讲解),最简单的一些快捷键
- metasploit msfconsole 命令参数
- Java基础:常用IO流
- Java基础--继承、this、super、抽象类
- 一行代码不用写,就可以训练、测试、使用模型,这个 star 量 1.5k 的项目帮你做到...
- 设计模式---------门面模式
- 01_反射_02_反射类的构造方法
- Java命令行界面(第21部分):航空公司2
- 【ES6(2015)】String
- SQL ——利用窗口函数的T-SQL解决方案
- Vue3.x 推荐使用 mitt.js
- php进程池不释放,php-fpm 进程池优化方法
- java 视频合并_java 实现分段视频合并
- 传感器检测技术——概论
- php iis7.5_浅析iis7.5安装配置php环境
- 数据库中存储的是什么?数据库存取的是地址
- MySql超详细分析(InnoDb存储引擎,日志文件,调优,索引,主从复制简单操作等)
- 油相CdSe/ZnS量子点溶液 硒化镉/硫化锌量子点介绍及阐述
- 青少年编程究竟应该从什么语言学起?
- 关于1 problem (1 error, 0 warnings) 1 error and 0 warnings potentially fixable with the `--fix` 错误