zoukankan      html  css  js  c++  java
  • c++ deque与forward_list

     deque概述

    deque(双端队列)是由一段一段的定量连续空间构成,可以向两端发展,因此不论在尾部或头部安插元素都十分迅速。 在中间部分安插元素则比较费时,因为必须移动其它元素。

      #include <deque> // 需要包含头文件 deque
      using namespace std; // 使用命名空间 std
    deque接口定义
      deque<T> dt; // 定义一个双端队列
      dt.size(); // 双端队列的大小
      dt.max_size(); // 双端队列的最大容量
      dt.resize(); // 重新定义双端队列的大小
      dt.empty(); // 判断双端队列是否为空
      dt.push_front(const T& t); // 在头部插入元素
      dt.push_back(const T& t); // 在尾部插入元素
      dt.insert(iterator it, const T& t); // 任意位置插入元素
      dt.pop_front(); // 删除头部元素
      dt.pop_back(); // 删除尾部元素
      dt.erase(iterator it); // 在任意位置删除元素
      dt.clear(); // 清空所有元素
      dt[0]; // 下标访问,不会检查是否越界
      dt.at(0); // at 方法访问
      dt.front(); // 访问头部元素
      dt.back(); // 访问尾部元素

    使用参见:http://www.cplusplus.com/reference/deque/deque/

    forward_list概述

    forward_list是一个单向链表,只支持单向顺序访问(list为双向链表,支持反向访问),在链表的任何位置进行插入/删除操作都非常快。

      #include <forward_list> // 包含头文件 forward_list
      using namespace std; // 使用命名空间 std
    forward_list接口定义
      forward_list<T> ft;
      ft.max_size(); // 链表的最大长度
      ft.resize(); // 重新链表分配大小
      ft.reserve(); // 反转链表中的元素
      ft.empty(); // 判断链表是否为空
      ft.front(); // 链表的首部元素
      ft.push_front(const T& t); // 在链表首部添加元素
      ft.pop_front(); // 移除链表首部元素
      ft.sort(Compare comp); // 对链表按照comp函数(对象)的比较法则进行排序
      ft.remove(const T& t); // 移除指定元素
      ft.remove_if(Predicate pred); // 移除满足pred函数(对象)的元素
      ft.clear(); // 清空链表元素

    使用参见:http://www.cplusplus.com/reference/forward_list/forward_list/

  • 相关阅读:
    [HNOI 2010]Bus 公交线路
    [HNOI 2010]Planar
    [HNOI 2010]chorus 合唱队
    定时器 @Scheduled定点启动
    mysql后获取时间
    kafka基本原理
    cron定时表达式
    自定义导出
    java指定年月的天数和周数<br>
    Date和Calendar时间操作常用方法及示例
  • 原文地址:https://www.cnblogs.com/tongyishu/p/13476081.html
Copyright © 2011-2022 走看看