std::vector容器

 std::vector是封装动态数组的顺序容器,支持下标随机访问,c++开发中使用非常频繁。
其存储是自动管理的,按需扩张和收缩,一般扩展为原先的1.5-2倍。 
vector通常占用多于静态数组的空间,因为需要分配更多内存以管理将来可能的增长。

代码:

下面演示std::vector的增、删、改、查

#include <iostream>
#include <vector>

using namespace std;

typedef vector<int> MyVector;

void printf_myVector(const MyVector& vec) {
	auto vecIter = vec.begin();
	for (; vecIter != vec.end(); vecIter++) {
		cout << *vecIter << " ";
	}
	cout << "\n";
}

int main()
{
	MyVector myVector;

	//增
	int array[] = { 1,5,12 };
	for (auto &num : array) {
		myVector.push_back(num);
	}
	myVector.insert(myVector.end(), {7,8});
	printf_myVector(myVector);

	cout << "----------------我是分割线 删除5-------------" << endl;
	//删
	auto iter = myVector.begin();
	for (; iter != myVector.end(); iter++) {
		if (5 == *iter) {
			iter = myVector.erase(iter);
		}
	}
	printf_myVector(myVector);

	cout << "----------------我是分割线 修改索引0、1-------------" << endl;
	//改
	if (myVector.size() > 2) {
		myVector[0] = 55;
		myVector.at(1) = 66;
	}
	printf_myVector(myVector);

	cout << "----------------我是分割线 查找55-------------" << endl;
	//查
	bool flag = false;
	vector<int>::iterator iter1;
	iter1 = find(myVector.begin(), myVector.end(), 55);
	if (iter1 != myVector.end()) {
		flag = true;
	}
	cout << "flag = " << flag << endl;

	getchar();
	return 0;
}

输出:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值