vector的用法

头文件:

#include<vector>
using namespace std;

一维向量

(1)向量的声明及初始化

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的初值

(2)元素的输入及访问

vector<int> a(10); //大小为10的向量a
cin >> a[2];
for(int i = 0; i < a.size(); ++i)
	cout << a[i] << ' ';

(3)向量的基本操作:

vector<int> a, b;
int num = a.size();   //获取向量中的元素个数

if(a.empty())  //判断向量是否为空
	cout << "a为空" << endl;
	
a = b ;   //将b向量复制到a向量中

a.clear()  //清空向量中的元素

(4)vector之间的比较:
保持 ==、!=、>、>=、<、<= 的惯有含义 ;
如: a == b ; //a向量与b向量比较, 相等则返回1

(5)插入 - insert

vector<int> a(3, 0) ;
a.insert(a.begin(), 1000); //在向量a的最前面插入1个1000,所以size增加1.
a.insert(a.begin(), 3, 1000) ; //在向量a的最前面插入3个1000,所以size增加3.

vector<int> a(2, 0);
vector<int> b(3, 1);
b.insert(b.begin(), a.begin(), a.end()); //将a.begin(), a.end()之间的全部元素插入到b.begin()前,所以向量b的size增加a的size.

(6)删除 - erase

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

(7)交换 - swap

b.swap(a) ;            //a向量与b向量进行交换

二维向量

vector<vector<int> > b(10, vector<int>(5)); //创建一个10*5的int型二维向量
cin >> b[1][1];
for(int i = 0; i < b.size(); ++i){ // 行向量 的大小
	for(int j = 0; j < b[i].size(); j++) //获取向量中具体每个向量的大小
		cout << b[i][j] << " ";
	cout << endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值