STL(六)Vector向量容器

来源:互联网 发布:java中单引号转义 编辑:程序博客网 时间:2024/05/17 08:32

        作为数组的一个泛化推广的vector容器,vector是一种简单、高效的容器。在尾端插入和删除元素,算法时间复杂度为O(1)常数阶,其他元素的插入和删除为O(n)线性阶,其中n为vector容器的元素个数。vector具有自动的内存管理功能,对于元素的插入和删除,可动态调整所占用的内存空间。

一、vector技术原理

       vector容器是一个线性结构,3个指针变量分别为M_start, M_finish and M_end_of_storage.

二、vector应用基础

#include <vector>

1、创建vector对象:有五种构造方式

2、初始化赋值:push_back函数常用来进行vector容器的初始化

3、元素的遍历访问:

       vector定义了一个“[]“操作符

       用迭代器访问vector元素

#include <vector>#include <iostream>int main(void) {     using namespace std;     vector<int>    v;     v.push_back(20);     v.push_back(26);     v.push_back(39);     vector<int>::iterator    i, iend;     iend = v.end();     int j;     for (i=v.begin(),j=0; i!=iend; i++,j++)          cout << "v[" << j << "] = " << *i << endl;     return 0;}

4、元素的插入

iterator  insert(iterator pos,  const  T&   x)

5、元素的删除

iterator   erase(iterator  pos)

iterator   erase(iterator  first, iterator  last)

6、元素的反向启遍历

reverse_iterator   rbegin()

reverse_iterator   rend()

7、vector的交换

void   swap(vector  &)

8、其他的常用函数












原创粉丝点击