vector<string>怎么用

 我来答
SWDgreat
2019-07-26 · TA获得超过8405个赞
知道答主
回答量:1012
采纳率:80%
帮助的人:24.4万
展开全部

string就是一个串类,在stl库中可以直接定义数据类型为string,而在c中只有字符类型和数组类型,串并不是一种类型,不过可以定义为字符数组来代替。

vector就是类似于一个数组的容器,内容比数组更加全面。很多操作都有自己的函数可以直接拿过来进行使用。主要函数就是:

1、v.push_back(k); 尾插元素;

2、v.insert(it,k); 在任意位置插入元素;

3、v.eraser(it,it+k); 删除任意元素;

4、v.size(); 容量;

5、v.clear(); 清空容器;

6、v.empty(); 判断容器是否为空;

7、reverse(v.begin(),v.end());反转任意段元素

8、sort(v.begin(),v.end(),cmp);sort排序默认由小到大,cmp可以自由规定排序规则。

扩展资料

Vector类是在 java 中可以实现自动增长的对象数组,vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

参考资料来源:百度百科-vector

帐号已注销
2019-09-10 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:81.4万
展开全部

容器向量也是一个类模板。标准库vector类型使用须要的头文件:#include <vector>。vector 是一个类模板。不是一种数据类型,vector<int>是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。

定义和初始化

vector< typeName > v1;       //默认v1为空,故以下的赋值是错误的v1[0]=5;

vector<typeName>v2(v1); 或v2=v1;或vector<typeName> v2(v1.begin(), v1.end());//v2是v1的一个副本,若v1.size()>v2.size()则赋值后v2.size()被扩充为v1.size()。

vector< typeName > v3(n,i);//v3包括n个值为i的typeName类型元素

vector< typeName > v4(n); //v4含有n个值为0的元素

int a[4]={0,1,2,3,3}; vector<int> v5(a,a+5);//v5的size为5,v5被初始化为a的5个值。后一个指针要指向将被拷贝的末元素的下一位置。

vector<int> v6(v5);//v6是v5的拷贝

vector< 类型 > 标识符(最大容量,初始全部值);

扩展资料

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。

特征

1、顺序序列

顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。

2、动态数组

支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。操供了在序列末尾相对快速地添加/删除元素的操作。

3、能够感知内存分配器的(Allocator-aware)

容器使用一个内存分配器对象来动态地处理它的存储需求。

参考资料来源:百度百科—向量

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
高粉答主

2019-10-05 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:36.5万
展开全部

容器向量也是一个类模板。标准库vector类型使用须要的头文件:#include <vector>。vector 是一个类模板。不是一种数据类型,vector<int>是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。

定义和初始化:

vector< typeName > v1;       //默认v1为空,故以下的赋值是错误的v1[0]=5;

vector<typeName>v2(v1); 或v2=v1;或vector<typeName> v2(v1.begin(), v1.end());//v2是v1的一个副本,若v1.size()>v2.size()则赋值后v2.size()被扩充为v1.size()。

vector< typeName > v3(n,i);//v3包括n个值为i的typeName类型元素

vector< typeName > v4(n); //v4含有n个值为0的元素。

扩展资料


Vector类是在 java 中可以实现自动增长的对象数组,vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

参考资料来源:百度百科-vector

参考资料来源:百度百科—向量

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frog3211
推荐于2017-05-31 · TA获得超过119个赞
知道答主
回答量:45
采纳率:100%
帮助的人:42.9万
展开全部
#include<string>
#include <vector>
#include <iostream>
using namespace std;

void main()
{
vector<string> vec;//定义个一个字符串容器
string str;
str = "abc";
vec.push_back(str);//把字符串str压进容器
vec.push_back("def");//把字符串"def"压进容器
vec.push_back("123");
for(int i=0; i<vec.size(); i++)
{
cout<<vec[i]<<endl;//打印容器的内容
}
vec.pop_back();//取出容器中最后一个
for(int i=0; i<vec.size(); i++)
{
cout<<vec[i]<<endl;//打印容器的内容
}
}
追问
有没有一次初始化的方法,而不用push_back
追答
用这个也行哦
vec.resize(4,"abc");
一次性有4个abc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HI吧友亲爱
2019-12-23
知道答主
回答量:2
采纳率:0%
帮助的人:1817
展开全部
1、v.push_back(k); 尾插元素;
2、v.insert(it,k); 在任意位置插入元素;
3、v.eraser(it,it+k); 删除任意元素;
4、v.size(); 容量;
5、v.clear(); 清空容器;
6、v.empty(); 判断容器是否为空;
7、reverse(v.begin(),v.end());反转任意段元素
8、sort(v.begin(),v.end(),cmp);sort排序默认由小到大,cmp可以自由规定排序规则。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式