Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189280
  • 博文数量: 54
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-02 18:41
文章分类

全部博文(54)

文章存档

2011年(1)

2009年(30)

2008年(23)

我的朋友

分类: C/C++

2009-03-20 15:43:43

头文件:

向量vector:可用常数时间访问、修改任意元素,在序列尾部插入和删除时,具有常数时间复杂度,对任意项的插入和删除的时间复杂度与到末尾的距离成正比,对向量头的添加、删除代价惊人。

vector类的主要成员
    value_type;    //对象类型T,存储在vector中 [定义地方:容器]
    pointer;    //指向T的指针 [容器]
    reference;    //T的引用 [容器]
    const_reference;    //T的常量引用 [容器]
    size_type;    //正整数类型 [容器]
    difference_type;    //整数类型 [容器]
    iterator ;    //访问vector的迭代器 [容器]
    const_iterator;    //访问vector的常量迭代器 [容器]
    reverse_iterator;    //访问vector的反向迭代器 [Reversible容器]
    const_reverse_iterator;    //访问vector的反向迭代器 [Reversible容器]
    iterator begin();    //返回vector的头指针 [容器]
    iterator end();    //返回vector的尾指针 [容器]
    const_iterator begin() const;    //返回vector的常量头指针 [容器]
    const_iterator end() const;    //返回vector的常量尾指针 [容器]
    reverse_iterator rbegin();    //返回反向vector的反向头指针 [Reversible容器]
    reverse_iterator rend();    //返回反向vector的反向尾指针 [Reversible容器]
    const reverse_iterator rbegin() const;    //返回反向vector的反向常量头指针 [Reversible容器]
    const_reverse_iterator rend() const();    //返回反向vector的反向常量尾指针 [Reversible容器]
    size_type size() const;    //返回vector的元素数量 [容器]
    size_type max_size() const;    // 返回最大可允许的vector元素数量值 [容器]
    size_type capacity() const;    //返回当前所能容纳的最多元素个数 [vector]
    bool empty() const;    //判断vector是否为空 [容器]
    reference operator[](size_type n);     //返回第n个元素 [Random Access容器]
    const_reerence operator[](size_type n)const;     //返回第n个元素 [Random Access容器]
    vector();    //创建一个空vector [容器]
    vector(size_type n);    //创建一个vector,元素数量为n [Sequence]
    vector(size_type n, const T& t);    //创建一个vector,元素数量为n,大小都为t [Sequence]
    vector(const vector &);    //拷贝构造函数 [容器]
    templatevector(InputIterator, InputIterator);    //采用拷贝的方法创建一个vector,指定了范围 [Sequence]
    ~vector();    // vector的析构函数 [容器]
    vector& operator=(const vector&);    //=运算符重载 [容器]
    void reserve(size_t n);    //为vector预先分配n个元素 [vector]
    reference front();    // 返回第一个元素 [Sequence]
    const_reference front() const;    //返回第一个元素 [Sequence]
    reference back();    //返回最后一个元素 [Back Insertion Sequence]
    const_reference back() const;    //返回最后一个元素 [Back Insertion Sequence]
    void push_back(const T&);    //在vector尾部插入一个元素 [Back Insertion Sequence]
    void pop_back();    //删除最后一个元素 [Back Insertion Sequence]
    void swap(vector&);    //交换两个vector的内容 [容器]
    iterator insert(iterator pos, const T& x);    //在pos前出入x [Sequence]
    templatevoid insert(iterator pos, InputIteratorf, InputIterator I);    //在位置pos位置前插入范围为[fisrt, last]的元素 [Sequence]
    void insert(iterator pos, size_type n, const T& x);    //在位置pos前出入n个x [Sequence]
    iterator erase(iterator pos);    //删除在位置pos的元素 [Sequence]
    iterator erase(iterator first, iterator last);    //删除在[first, last]之间的元素 [Sequence]
    void clear();    //删除所有的元素 [Sequence]
    void resize(size_type n, t = T());    //插入或删除使元素个数为n插入的值为t[Sequence]
    bool operator==(const vector&, const vector&);    //重载==运算符 [Forward容器]
    bool operator<(const vector&, const vector&);    //小于逻辑运算符 [Forward容器]

vector类的私有成员:
    size_type capacity() const;    //返回当前所能容纳的最多元素个数,其值不小于size()
    void reserve(size_type n);    //如果n小于或等于capacity(),本函数没有作用。否则,它申请分配内存如果申请成功,capacity()值应>=n:如果申请失败,capacity()不变

阅读(1101) | 评论(0) | 转发(0) |
0

上一篇:迭代器

下一篇:双端队列deque

给主人留下些什么吧!~~