STL组件
STL提供三种类型的组件:容器,迭代器和算法,他们都支持泛型程序设计标准。
容器主要有两类:顺序容器和关联容器(set,multiset,map,multimap)包含查找元素的键值。
迭代器的作用是遍历容器。
STL算法库包含四类算法:排序算法,不可变序算法,变序性算法和数值算法。
vector向量容器
vector向量容器不但能像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单,高效的容器,完全可以代替数组。
一.创建vector对象
<1>不指定容器的元素个数。eg:vector<int>v
<2>创建时,指定容器的大小。 eg:vector<double>v(10)
<3>创建一个具有n个元素的向量容器对象,每个元素具有指定的初始值。eg:vector<double>v(10,8.6)
二.尾部元素扩张
通常使用push_back()对vector容器在为不追加新元素。尾部追加元素,vector容器会自动分配新内存空间,可对空的vector对象扩张,也可对已有元素的vector对象扩张。
三.访问vector元素
1> 下标方式访问vector元素
2> 用迭代器访问vector元素
*注意*迭代器的类型要与它要遍历的vector对象的元素类型一致
四.元素的插入
insert()方法可以在vector对象的任意位置前插入一个新的元素,同时,vector自动扩张一个元素空间,插入位置后的所拥有元素依次向后挪动一个位置。
五,元素的删除
erase()方法可以删除vector中迭代器所指的一个元素或一段区间中的所有元素。
clear()方法则一次性删除vector中的所有元素。
六.使用reverse反向排列算法/sort排序算法
需加头文件“#include<algorithm>”
七.向量的大小
使用size()方法可以返回向量的大小,即元素的个数。
使用empty()方法返回向量是否为空。
STL提供三种类型的组件:容器,迭代器和算法,他们都支持泛型程序设计标准。
容器主要有两类:顺序容器和关联容器(set,multiset,map,multimap)包含查找元素的键值。
迭代器的作用是遍历容器。
STL算法库包含四类算法:排序算法,不可变序算法,变序性算法和数值算法。
vector向量容器
vector向量容器不但能像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单,高效的容器,完全可以代替数组。
一.创建vector对象
<1>不指定容器的元素个数。eg:vector<int>v
<2>创建时,指定容器的大小。 eg:vector<double>v(10)
<3>创建一个具有n个元素的向量容器对象,每个元素具有指定的初始值。eg:vector<double>v(10,8.6)
二.尾部元素扩张
通常使用push_back()对vector容器在为不追加新元素。尾部追加元素,vector容器会自动分配新内存空间,可对空的vector对象扩张,也可对已有元素的vector对象扩张。
三.访问vector元素
1> 下标方式访问vector元素
2> 用迭代器访问vector元素
*注意*迭代器的类型要与它要遍历的vector对象的元素类型一致
四.元素的插入
insert()方法可以在vector对象的任意位置前插入一个新的元素,同时,vector自动扩张一个元素空间,插入位置后的所拥有元素依次向后挪动一个位置。
五,元素的删除
erase()方法可以删除vector中迭代器所指的一个元素或一段区间中的所有元素。
clear()方法则一次性删除vector中的所有元素。
六.使用reverse反向排列算法/sort排序算法
需加头文件“#include<algorithm>”
七.向量的大小
使用size()方法可以返回向量的大小,即元素的个数。
使用empty()方法返回向量是否为空。