Skip to content

Latest commit

 

History

History
135 lines (85 loc) · 2.78 KB

File metadata and controls

135 lines (85 loc) · 2.78 KB

STL容器

顺序容器

元素的插入位置和元素的值无关,只跟插入的时机有关。

vector向量

  • assign

    vector有个函数assign, 可以帮助执行赋值操作。assign会清空你的容器

    函数原型:

    void assign(const_iterator first,const_iterator last);
    // vector.assign(que.begin(), que.end());
    void assign(size_type n,const T& x = T());
    // vector.assign(3, 2.1);// 3个2.1

    功能:将区间[first, last)的元素赋值到当前的vector容器中,或者赋n个值为x的元素到vector容器中,这个容器会清除掉vector容器中以前的内容。

  • begin(), end()

    这两个类似于数组的地址指针

    begin函数原型:

    iterator begin();
    const_iterator begin();

    功能:返回一个当前vector容器中起始元素的迭代器。

    end函数原型:

    iterator end();
    const_iterator end();

    功能:返回一个当前vector容器中末尾元素的迭代器。

    可以通过使用 * vector.begin() 或 * vector.end() 来获得 vector 中第一个或最后一个的值;

    也可以直接使用 vector.front() 、vector.back() 来得到 vector 首尾的值。

  • front(), back()

    front函数原型:

    reference front();
    const_reference front();

    功能:返回当前vector容器中起始元素的引用。

    back函数原型:

    reference back();
    const_reference back();

    功能:返回当前vector容器中末尾元素的引用。

deque双队列

  • push_front, pop_front()
  • push_back, push_back()

list链表

  • iterator

    list<int>::iterator current = numbers.begin();
  • erase

    numbers.erase(current);

关联容器

关联容器内的元素是排序的,插入任何元素,都按照相应的排序专责来确定其位置。

关联式容器的特点是在查找时具有非常好的性能。

通常以平衡二叉树方式实现,插入、查找和删除的时间都是O(logN)。

set集合

multiset

map映射

multimap

容器适配器

stack栈

queue队列

priority_queue优先级队列

优先级高的元素先出。

参考资料

“c++中常见的STL容器类型”参考此课件。