栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

vector—C++笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vector—C++笔记

vector—C++笔记
#include
#include
using namespace std;

void test(){
	//创建一个vector容器,数组
	vector v;
	//向容器中插入数据(尾插)
	v.push_back(10);
	v.push_back(20);
	v.push_back(30);
	v.push_back(40);
	//尾删
	v.pop_back();  //10 20 30 
	//插入 第一个参数的迭代器
	v.insert(v.begin(),100);  //100 10 20 30 (在第一个位置插)
	v.insert(v.begin(),2,1000);  //1000 1000 100 10 20 30(插两个1000)
	v.insert(v.begin()+1,2);   //1000 2 1000 100 10 20 30(在第二个位置插)
	
	//删除 参数也是迭代器
	v.erase(v.begin());  //10 20 30
	v.erase(v.begin(),v.end()); //左闭右开,删除全部==v.clear();
	
	
	vectorv1;  //若里面有10 20 30 40
	//构造同时赋值
	vectorv2(v1); //v2: 10 20 30 40 
	vectorv3(v1.begin()+1,v1.end()); //v3: 20 30 40(用区间赋值)
	vectorv4(4,100);  //v4: 100 100 100 100 (4个100)
	vectorv5(4); //声明v5大小为4 内容默认为 0 0 0 0  
	cout<v5; 直接访问 v5[0] 会报错,除非访问前插入元素}

	//容量和大小
	vectorv1; //若里面有0 1 2 3 4 5 6 7 8 9 
	//v1.empty() 为真 代表容器为空
	v1.capacity();  // v1容量:13 (系统开辟的,capacity>=size)
	v1.size();  //10 (v1里面有10个元素)
//	v1.resize(15); //0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 (默认填0)
	v1.resize(15,100); //0 1 2 3 4 5 6 7 8 9 100 100 100 100 100
	v1.resize(5); //0 1 2 3 4 超出部分被删


	//交换容器
	vectorv1; //里面有0 1 2 3 4 5 6 7 8 9 
	vectorv2; //里面有10 9 8 7 6 5 4 3 2 1
	v1.swap(v2);  //v1 : 10 9 8 7 6 5 4 3 2 1
				  //v2 : 0 1 2 3 4 5 6 7 8 9 
	{扩展:巧用swap收缩内存
		若v1中存10000个数。。。。
		v1.capacity(); //13825 
		v1.size(); //10000
		v1.resize(3);  //缩小
		v1.capacity(); //13825   仍然占内存。。。。。
		v1.size(); //3   
		vector(v1).swap(v1);  //*******
		v1.capacity(); //3   收缩内存
		v1.size(); //3  
	}


	//遍历(个人感觉最好)
	//一维
	for(int i=0;i> matrix; //matrix中已存入一些数了,这里随便举个例子
	int rows = matrix.size(), columns = matrix[0].size();
    vector> dp(rows, vector(columns));

        for(int i=0;i 

遍历另外的方法

	//第一种遍历方式
	//通过迭代器访问容器中的数据
	vector::iterator itBegin = v.begin();//起始迭代器,指向容器中第一个元素
	vector::iterator itEnd = v.end();//结束迭代器,指向容器中最后一个元素的下一个位置
	while(itBegin != itEnd)
	{
		cout<<*itBegin<::iterator it=v.begin();it != v.end();it++){
		cout<<*it< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号