c++: vector 简介
2017-10-05 05:24
225 查看
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。
声明和初始化:
或者list initialization
或者用另一个向量初始化:
或者直接用数组初始化:
添加element:
other common operations:
元素的访问:
c++ 中,所以容器操作更加鼓励iterator but not subscript
动态插入和删除:
插入:
指定起始位置, 插入元素以及个数
或者指定插入内容为另一个vector或者数组里的一段,类似begin(), end().
删除,类似插入
在使用它时, 需要包含头文件 vector, #include<vector> vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。
声明和初始化:
vector<int> a ; //声明一个int型向量a vector<int> a(10) ; //声明一个初始大小为10的向量 vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 vector<int> b(a) ; //声明并用向量a初始化向量b vector<int> b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值
或者list initialization
vector<string> v1{"a", "an"}; // initialize with two elements vector<string> v2("a"); // error
或者用另一个向量初始化:
vector<T> v2(v1); vector<T> v2 = v1;
或者直接用数组初始化:
int n[] = {1, 2, 3, 4, 5} ; vector<int> a(n, n+5) ; //将数组n的前5个元素作为向量a的初值 vector<int> a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
添加element:
vector<int> v; for (int i = 0; i < 100; i++) { v.push_back(i); }
other common operations:
v.empty(); // return true if v is empty v.size(); // return the number of the elements in vector
元素的访问:
// using subscript int i ; for(i=0; i<a.size(); i++) cout<<a[i]<<" " ; // using iterators vector<int>::iterator t ; for(t=a.begin(); t!=a.end(); t++) cout<<*t<<" " ;
c++ 中,所以容器操作更加鼓励iterator but not subscript
动态插入和删除:
插入:
指定起始位置, 插入元素以及个数
或者指定插入内容为另一个vector或者数组里的一段,类似begin(), end().
// inserting into a vector #include <iostream> #include <vector> int main () { std::vector<int> myvector (3,100); std::vector<int>::iterator it; it = myvector.begin(); it = myvector.insert ( it , 200 ); myvector.insert (it,2,300); // "it" no longer valid, get a new one: it = myvector.begin(); std::vector<int> anothervector (2,400); myvector.insert (it+2,anothervector.begin(),anothervector.end()); int myarray [] = { 501,502,503 }; myvector.insert (myvector.begin(), myarray, myarray+3); std::cout << "myvector contains:"; for (it=myvector.begin(); it<myvector.end(); it++) std::cout << ' ' << *it; std::cout << '\n'; return 0; }
删除,类似插入
// erasing from vector #include <iostream> #include <vector> int main () { std::vector<int> myvector; // set some values (from 1 to 10) for (int i=1; i<=10; i++) myvector.push_back(i); // erase the 6th element myvector.erase (myvector.begin()+5); // erase the first 3 elements: myvector.erase (myvector.begin(),myvector.begin()+3); std::cout << "myvector contains:"; for (unsigned i=0; i<myvector.size(); ++i) std::cout << ' ' << myvector[i]; std::cout << '\n'; return 0; }
相关文章推荐
- C++ vector简介
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- C++中vector类型简介
- C++基础:C++中vector使用简介
- C++基础:C++中vector使用简介
- C++ Primer学习笔记7 标准库类型(标准库vector类型、迭代器简介)
- C++中vector类型简介
- C++中vector简介
- C++之vector简介
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- c++ STL vector 用法介绍 访问
- C++vector用法(转)
- C++ 标准模板库STL中vector用法介绍
- C++程序员学Java系列之三十:数据结构之向量Vector
- c++多个cpp要使用一个变量(vector、list之类的),该怎么办?
- c++中stack、queue、vector的用法
- c++中的vector用法
- c++的vector容器
- 【C++】用模板实现顺序表Vector