c++顺序容器

来源:互联网 发布:iphone网络不可用 编辑:程序博客网 时间:2024/06/16 12:06

一 顺序容器类型:

deque   双端队列,头尾位置插入删除#include<deque>  deque<T>

list     双向链表,在任何位置进行插入删除#include<list>  list<T>

array   固定大小数组,随机访问不可添加删除,与内置数组不同#include<array>

vector 

string


二  容器的操作

容器类型成员      vector<T>::iterator it    vector<T>类型的迭代器

                            list<T>::size_type     list<T>容器大小

                            array<T>::difference_type  带符号整型,保存两个迭代器之间距离

                            vector<T>::value_type   元素类型

                            vector<T>::reference   元素左值类型,等价于value_type&

构造函数            vector<T> v;

                           vector<T> v1(v2)

                           list<T> v2{a,b,c....}

                           vector<T>  v(it.begin(),it.end())  将迭代器it指定范围内的元素拷贝到v 

交换值                v1.swap(v2)

                           swap(v1,v2)v1v2类型相同

赋值                    v.assign(b,e)   将v中元素替换为迭代器be所表示范围中的元素  

                           例list<string> n;vector<const char*> o;n.assign(o.begin(),o.end());

大小                  v1.size()

                          v1.max_size( )  v1可保存最大元素数目

                         v1.empty()

添加删除元素(不适用于array)v.push_back(t)

                                                    v.push_front(t)

                                                      v.insert(args)

                                                     v.emplace()

                                                      v.erase(args)  删除args指定内容

                                                     v.clear()删除c中所有元素

                                                     v.pop_back()删除尾元素

                                                      v.pop_front()删除首元素

获取迭代器       v.begin()  v.end()

                          迭代器引用  *v.begin() 

                           元素中成员访问  (*v.begin()).mem   or   v.begin()->mem

                          迭代器指向下一个元素   ++v.begin()

访问元素    v.back( ) v中尾元素的引用

                   v.front()v中首元素的引用

                   v.at(n)返回下标为n的元素的引用  等价于v[n]

改变容器大小     v.resize(n,t)v改为大小为n个元素且每个值为t


三 顺序容器适配器:

stack   \\#include<stack>  栈,后进先出

queue   \\#include<queue> 队列,先进先出

priority_queue  \\#include<queue>  有优先级别的队列


四 顺序适配器的操作

成员  size_type

         value_type

        container_type 实现适配器的底层容器类型

构造   A  a

          A a(c) c拷贝给a

大小  a.empty()

          a.size()

交换值  a.swap(b)

             swap(a,b)

删除首元素 s.pop()

尾部添加元素  s.push()

返回首元素   s.top()栈    s.front 队列 s.back 

   

0 0
原创粉丝点击