c++ - vector容器的接口使用


一、常用的迭代器 + 默认构造函数函数

void test01()
{
	//无参构造
	vector<int> v1;

	//用n个val初始化
	vector<int> v2(10, 1);
	
	//迭代器
	//第一个位置的迭代器
	vector<int>::iterator it1 = v2.begin();
	//最后一个位置的下一个位置的迭代器
	vector<int>::iterator it2= v2.end();

	//用一个迭代器区间初始化 左闭右开
	vector<int> v3(it1, it2);

	//拷贝构造
	vector<int> v4(v3);
	
	//赋值重载
	v1 = v4;

}

二、访问容器接口

void test02()
{
	vector<int> v(10, 1);

	//重载的[]
	for (int i = 0; i < 10; i++)
	{
		cout << v[i] << ' ';
	}
	cout << endl;

	//at函数接口  与[] 的区别就是at失败会抛异常 ,[]会直接强行停止(assert断言)
	for (int i = 0; i < 10; i++)
	{
		cout << v.at(i) << ' ';
	}
	cout << endl;

	//迭代器  -- 最常用
	vector<int>::iterator it = v.begin();
	while (it != v.end())
	{
		cout << *it << ' ';
		it++;
	}
	cout << endl;

}

在这里插入图片描述

三、常用的大小容量类的接口

void test03()
{
	vector<int> v(10, 1);

	//大小
	cout << v.size() << endl;

	//容量
	cout << v.capacity() << endl;

	//预留空间
	v.reserve(100);
	cout << v.capacity() << endl;

	//改变大小 比原来的大就用 k 来填充 ,不指定用 0 来填充
	int k = 1;
	v.resize(20,k);
	Print(v);

	v.resize(30);
	Print(v);
}

在这里插入图片描述

四、常用的插入、修改、删除、交换接口

void test04()
{
	vector<int> v;

	//尾插
	v.push_back(1);
	v.push_back(2);
	Print(v);
	//尾删
	v.pop_back();
	Print(v);

	//在迭代器后一个位置插入一个元素
	vector<int>::iterator it = v.begin();
	v.insert(it, 2);
	Print(v);

	//在迭代器后一个位置插入 n 个元素
	it = v.begin();
	v.insert(it, 2,2);
	Print(v);

	//在迭代器插入一个迭代区间 左闭右开
	vector<int> v1(2,3);
	v.insert(it, v1.begin(), v1.end());
	

	//删除迭代器位置的值
	it = v.begin();
	v.erase(it);
	Print(v);

	//删除迭代器区间 左闭右开
	it = v.begin();
	v.erase(it, it + 1);
	Print(v);

	//修改为一个迭代器区间,左闭右开,之前的数据会被删除
	v.assign(v1.begin(), v1.end());
	Print(v);

	//修改为n个val,之前的数据会被删除
	v.assign(10, 1);
	Print(v);

	//交换
	v.swap(v1); 
	Print(v);

	//清空
	v.clear();
}

在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值