zoukankan      html  css  js  c++  java
  • 【C++笔记】C++中vector、stack、deque、list的简易实际使用方法

    以下内容仍在更新完善...

    Vector

    初始化:

       vector<int> a(x);                                    定义x个整型元素的初始值不确定的向量

       vector<int> a(x,y);                                 定义x个整型元素的初始值为y的向量

       vector<int> a(b);                                    将b向量的值复制给a

       vector<int> a(b.begin(),b.begin+x);       定义a值为b中第0个到第x个(共x+1个)元素

    常用函数方法(部分)

        a.assign(b.begin(), b.begin()+x);             b为向量,将b的0~x个元素构成的向量赋给a

        a.assign(x,y);                                          使得a只含x个值为y的元素

        a.back();                                                  返回a的最后一个元素

        a.front();                                                  返回a的第一个元素

        a.clear();                                                 清空vector

        a.empty();                                               判断a是否为空,空则返回ture,不空则返回false

        a.pop_back();                                         删除a向量的最后一个元素

        a.push_back(x);                                     在a的最后一个向量后插入一个值为x的元素

        a.insert(a.begin()+x,y);                          在a的第x个元素(从第0个算起)的位置插入数值y

        a.insert(a.begin()+x,y,z);                        在a的第x个元素(从第0个算起)的位置插入y个数,其值都为z

        a.size();                                                  返回a中元素的个数;

        a.capacity();                                           返回a在内存中总共可以容纳的元素个数

        a.swap(b);                                              b为向量,将a中的元素和b中的元素交换

    Stack

    头文件:

      #include <stack>

    初始化:

      stack a;

    常用函数方法(部分)

      s.top();                   返回栈顶元素

      s.empty();              判定是否为空,空则返回false,非空则返回true

      s.pop();                  删除栈顶元素,并返回该删除值

      s.push(T);              加入一个元素T到stack的栈顶

      s.size();                 返回栈中元素数目

    Deque

    头文件:

      #include <deque>

    初始化:

      deque<double>  a;      定义了一个double型的双端队列a;

    常用函数方法(部分):

      a.assign(a,b)                                将[a; b)区间中的数据赋值给a

      a.assign(n,x)                                将n个x的拷贝赋值给a

      a.back()                                       返回容器a的最后一个元素的值。如果a为空,则该操作未定义。

      a.begin()                                      传回迭代器中的第一个数据地址。

      a.clear()                                       移除容器中所有数据。

      a.empty()                                     判断容器是否为空。

      a.end()                                         返回一个迭代器,它指向容器a的最后一个元素的下一位置。

      a.erase(pos)                                删除pos位置的数据,传回下一个数据的位置。

      a.erase(x,y)                                 删除[x,y)区间的数据,传回下一个数据的位置。

      a.front()                                        返回容器a的第一个元素的值。如果a为空,则该操作为空。

      a.max_size()                                返回容器a可容纳的最多元素个数。

      a.pop_back()                               删除最后一个数据。

      a.pop_front()                               删除头部数据。

      a.push_back(elem)                     在尾部加入一个数据。

      a.push_front(elem)                     在头部插入一个数据。

      a.size()                                       返回容器中实际数据的个数。

      a.swap(b)                                   交换容器a和b中的所有元素。

      swap(a,b)                                   交换容器a和b中的所有元素。

    List

    初始化:

      list<int> a;                                 创建空list

      list<int> a(5);                             创建含有5个元素的list

      list<int> a(3,2);                          创建含有3个元素的list

      list<int>a(b);                              使用b初始化a
     

    常用函数方法(部分):

      a.assign()                                  给list赋值 

      a.back()                                     返回最后一个元素 

      a.begin()                                   返回指向第一个元素的迭代器 

      a.clear()                                    删除所有元素 

      a.empty()                                 如果list是空的则返回true 

      a.end()                                     返回末尾的迭代器 

      a.erase()                                  删除一个元素 

      a.front()                                   返回第一个元素 

      a.get_allocator()                      返回list的配置器 

      a.insert()                                 插入一个元素到list中 

      a.max_size()                          返回list能容纳的最大元素数量 

      a.pop_back()                          删除最后一个元素 

      a.pop_front()                          删除第一个元素 

      a.push_back()                       在list的末尾添加一个元素 

      a.push_front()                       在list的头部添加一个元素 

      a.size()                                 返回list中的元素个数 

      a.swap()                               交换两个list 

  • 相关阅读:
    算法 —— Count pairs with given sum ——dictionary的妙用,高,实在是高!!!
    map 文件
    objdump 从 ELF 文件 反汇编
    STM32 如何定位导致发生 hard fault 的代码段
    基于linux下的krpano的使用
    w3c规定,当请求的header匹配如下不安全字符时,将被终止
    IDEA中Upsource插件的安装及使用
    SVN服务器迁移方法(Windows环境)
    1. ML605开发板测试
    福禄克15B+ 和FLUKE 179C 测试1000UF电解电容速度差异
  • 原文地址:https://www.cnblogs.com/Neko-YG/p/13337410.html
Copyright © 2011-2022 走看看