C++中 vector容器——模板类数组
2016-07-17 23:15
260 查看
对vector容器的一点理解,相对于数组,vector容器可以不固定大小,但是需要而外的内存
空间,这是用空间来换取数组动态大小的一种方式
1.定义
vector <int> A; 定义了一个空的int型数组
vector<double> B(n); 定义了一个长度为n的double型数组
vector<int> B(C); 定义一个C的副本
vector<int> D(n,i); 定义并初始化D,为n个i元素
2.基本的操作
一. 插入操作
尾部插入 A.push_back(i); 把元素i插入A的尾部
指定位置插入 A.insert(p,i) 在迭代器p前插入元素i
二.删除操作
A.erase(p); 删除迭代器p所指向的元素
A.pop_back(); 弹出最后一个元素,并不会返回
三.遍历
通过下标(和数组一样)
通过迭代器遍历
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int i;
vector<int> A;
for(i=0;i<5;i++)
A.push_back(2*i+1);
for(i=0;i<5;i++) //利用下标遍历
cout<<A[i]<<" ";
cout<<endl;
vector<int>::iterator it; //定义了一个迭代器
for(it=A.begin();it!=A.end();it++) //利用迭代器遍历
cout<<*it<<" ";
cout<<endl;
for(i=0;i<5;i++)
cout<<A.at(i)<<" ";
}
深入的介绍链接:C++ vector详细介绍
空间,这是用空间来换取数组动态大小的一种方式
1.定义
vector <int> A; 定义了一个空的int型数组
vector<double> B(n); 定义了一个长度为n的double型数组
vector<int> B(C); 定义一个C的副本
vector<int> D(n,i); 定义并初始化D,为n个i元素
2.基本的操作
一. 插入操作
尾部插入 A.push_back(i); 把元素i插入A的尾部
指定位置插入 A.insert(p,i) 在迭代器p前插入元素i
二.删除操作
A.erase(p); 删除迭代器p所指向的元素
A.pop_back(); 弹出最后一个元素,并不会返回
三.遍历
通过下标(和数组一样)
通过迭代器遍历
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int i;
vector<int> A;
for(i=0;i<5;i++)
A.push_back(2*i+1);
for(i=0;i<5;i++) //利用下标遍历
cout<<A[i]<<" ";
cout<<endl;
vector<int>::iterator it; //定义了一个迭代器
for(it=A.begin();it!=A.end();it++) //利用迭代器遍历
cout<<*it<<" ";
cout<<endl;
for(i=0;i<5;i++)
cout<<A.at(i)<<" ";
}
深入的介绍链接:C++ vector详细介绍
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- C#动态调整数组大小的方法
- Lua中调用C++函数示例
- 详解Lua中的数组概念知识
- Lua教程(一):在C++中嵌入Lua脚本
- Perl中的列表和数组学习笔记
- Lua教程(二):C++和Lua相互传递数据示例
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧
- PowerShell数组的一些操作技巧
- C#通过yield实现数组全排列的方法