C++中的vector的用法

参考:https://www.cnblogs.com/aminxu/p/4686332.html

使用vector需要包含头文件

#include<vector>

常用类型

        vector<int> a ;                                //声明一个int型向量a
        vector<int> a(10) ;                            //声明一个初始大小为10的向量
        vector<int> a(10, 1) ;                         //声明一个初始大小为10且初始值都为1的向量
        vector<int> b(a) ;                             //声明并用向量a初始化向量b
        vector<int> b(a.begin(), a.begin()+3) ;        //将a向量中从第0个到第2个(共3个)作为向量b的初始值

除此之外,还可以直接使用数组来初始化向量

        int n[] = {1, 2, 3, 4, 5} ;
        vector<int> a(n, n+5) ;              //将数组n的前5个元素作为向量a的初值
        vector<int> a(&n[1], &n[4]) ;        //将n[1] - n[4]范围内的元素作为向量a的初值

元素的输入及访问

#include<iostream>
#include<vector> //c++中使用Vector需要添加这个头文件
using namespace std;

int main(){
	vector<int>a(10,0);//初始化大小为10,初值为0的向量a
	cin>>a[2];//对其中部分元素进行输入
	return 0;
}

向量的基本操作
a.size()//获取向量中的元素个数
a.empty()//判断向量是否为空
a.clear()//清空向量中的元素
a=b //将b向量复制到a向量中

比较:
保持 == , !=, >, >=, <, <=的惯有含义;
如 a==b; //a向量和b向量比较,相等返回true;

插入:
a.insert(a.begin(),1000)//将1000插入到向量a起始位置前
a.insert(a.begin(),3,1000)//将1000分别插入到向量a位置的0~2处(共三个元素)
b.insert(b.begin(),a.begin(),a.end())//将a.begin(), a.end()之间的全部元素插入到b.begin()前

删除:
b.erase(b.begin())//将起始元素删除
b.erase(b.begin(),b.begine()+3) //将(b.begin(), b.begin()+3)之间的元素删除

交换:
b.swap(a); //向量a和向量b交换

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++vector是一个非常有用的容器,可以存放任意类型的动态数组,并且可以增加和压缩数据。使用vector的基本操作包括插入元素、删除元素、查找元素等。其,查找元素可以使用find函数,例如find(a.begin(),a.end(),10)可以在vector a查找元素10,并返回其在向量的位置。 另外,输出vector的元素有三种方法。第一种方法是使用下标方式打印vector,可以使用for循环遍历vector并输出元素,例如: ``` for(int i=0;i<nSize;i++) { cout<<vecClass[i]<<" "; } cout<<endl; ``` 第二种方法也是使用下标方式打印vector,但是使用at函数代替下标操作,例如: ``` for(int i=0;i<nSize;i++) { cout<<vecClass.at(i)<<" "; } cout<<endl; ``` 第三种方法是使用迭代器方式打印vector,可以使用for循环和迭代器遍历vector并输出元素,例如: ``` for(vector<float>::iterator it = vecClass.begin();it!=vecClass.end();it++) { cout<<*it<<" "; } cout<<endl; ``` 需要注意的是,使用迭代器方式打印vector时,输出某一指定的数值可能不太方便。在C++,还可以使用迭代器访问vector的元素,可以使用for循环和迭代器遍历vector,并通过迭代器访问元素进行操作,例如: ``` vector<int>::iterator it; for(it=array.begin();it!=array.end();it++) { cout<<*it<<endl; } ``` 这样可以依次输出vector的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++vector使用方法](https://blog.csdn.net/weixin_44607113/article/details/123738389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值