#include<vector>头文件 vector类称作向量类 百度百科的解释:https://baike.baidu.com/item/vector/3330482 我喜欢把知识点拿出来实际操作. 提纲挈领的总结实际工程中用到的方式方法,最后列表展示出来,补充一些常用实际案例,最直接. 既方便看,又方便提取. 之前不了解动态数组vector的事,感觉像一座大山,没有办法迈过去.可是当深入的了解并使用到它的时候,觉得他真的是太便捷了. 比如说一般的数组a,一旦我们定义好了,就不能对里面的排序…
需要包含头文件, #include  <vector>    using namespace std; vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素 vector<int> arr; //创建一个可以容纳整数值的动态数组 vector<); //声明一个初始大小为10的向量 vector<, ); //声明一个初始大小为10且初始值都为1的向量 vector<int> b(a); //声明并用向量a初始化向…
定义方式:vector<int> a; //二维vector<int>a[100] 在末尾压入容器:a.push_back(x);//二维 a[i].push_back(x) 在末尾弹出容器:a.pop_back(); 清空容器:a.clear(); 查询元素个数:a.size(); 其它像数组一样调用就可以了. 看做是一个动态数组 循环遍历:for(vector<int>::iterator it=a.begin();it!=a.end();it++) vector可…
vector是STL模板库中的序列式容器,利用它可以有效地避免空间的浪费. 创建vector容器 vector< int >v:vector< char >:vector< int >v[10]. vector常用函数及功能 c.clear() 清空容器中所有元素 c.empty() 判断容器是否为空 c.pop_back() 删除容器最后一个元素 c.push_back() 在尾部加入一个元素 c.resize() 重新指定容器的长度 c.reserve() 保留适当…
#ifndef __MYVECTOR__ #define __MYVECTOR__ #include <Windows.h> #define SUCCESS 1 // 成功 #define ERRORS -1 // 失败 #define MALLOC_ERROR -2 // 申请内存失败 #define INDEX_ERROR -3 // 错误的索引号 template<typename TELE> class Vector { public: Vector(void); Vect…
题目和一般的八连通一样,但行数和列数未定,相乘对于1e6,直接开a[1e6][1e6]的数组肯定会爆内存.用二维的动态vector就能很好的解决这个问题 #include<bits/stdc++.h> using namespace std; ]={-,,,-,,-,,}; ]={,,,,,-,-,-}; int n,m; void dfs(vector< vector < bool > >&a,int x,int y) { a[x][y]=; int X,Y;…
Vectors 包含着一系列连续存储的元素,其行为和数组类似.访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度. Constructors 构造函数 Operators 对vector进行赋值或比较 assign() 对Vector中的元素赋值 at() 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 capacity() 返回vector所能容纳的元…
泛化动态数组 动态数组的核心思想是在存储数据时动态的管理数组元素占用的内存,通过调用动态数组的类方法来对数组中的数据进行增删改查操作.最初我们为数组申请10个元素的空间,放我们不断向数组中添加数据时,会自动的申请更大的空间(这里申请的是原本容量的1.5倍,用的是移位操作),将原来内存块的数据拷贝到新的更大的内存块中.当我们删除数据,当空闲内存是总容量的一半且不小于最小容量(10)时,将自动对数组内存缩容操作. 抽向数据类型(ADT) :(linearList.h) /**************…
动态数组的分配和释放 new和数组 C++语言和标准库提供了一次分配一个对象数组的方法,定义了另一种new表达式语法.我们需要在类型名后跟一对方括号,在其中指明要分配的对象的数目. int* arr = new int[20]; // arr 指向第一个int 方括号中的大小必须是整数,但不必是常量. 可以使用typedef来表示数组类型的别名: typedef int arrT[42]; int* p = new arrT; // 分配一个42个int的数组,p指向第一个int 虽然我们通常称…
动态内存-动态数组 习题12.23 //连接字符串到动态数组 char *c = new char[20](); char a[] = "hello "; char b[] = "world"; strcopy(c, a); strcopy(c+strlen(a), b); cout<<c<<endl; // 连接string到动态数组 char *c = new char[20](); string a = "hello &quo…