zoukankan      html  css  js  c++  java
  • c++ STL 容器——序列

    STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据的容器,不讨论)

     

    一些基本的容器特征

    表达式  返回值 说明 复杂度
    XX:iterator 对应迭代器 指针 编译时间
    X u   创建一个名为u的空容器 固定
    X u(a)  /X u=a   复制a到u 线性
    a.begin() 迭代器 指向容器的第一个元素 固定
    a.end() 迭代器 指向超尾值迭代器(最后一个元素+1) 固定
    a.size() unsigned int 返回元素个数  等价于a.end()-a.begin() 固定
    a.swap(b) void 交换a,b的内容 固定
    a==b  /  a!=b bool 是否完全一样(长度,每一个元素都一样) 线性

    序列:

    6种容器是序列:deque双端队列,list双向链表,queue队列,priority_queue优先队列,stack栈,vector数组

    表达式 返回值 说明
    X a(n,t)   声明一个类型为X,名为a,由n个t组成的序列
    X a(i,j)  

    声明一个类型X,名为a,并将其初始化为区间【i,j)的内容

    a.insert(p,t) 迭代器 将t插入到p前
    a.insert(p,n,t) void 将n个t插入到p前
    a.insert(p,i,j) void 将区间【i,j)的元素插入到p前
    a.erase(p) 迭代器 删除p指向的内容
    erase(p,q) 迭代器 删除区间【p,q】的元素
    a.clear() void 删除所有,等价于a.erase(a.begin(),a.end());

    其他容器函数:

    表达式 含义 对应容器
    a.front() 返回第一个 vector,list,deque,queue
    a.back() 返回最后一个 vector,list,deque,queue
    a.push(pop)_front() 在第一个前添加(删除) list,deque
    a.push(pop)_back() 添加(删除)最后一个 list,deque,vector
    a[n]  /  a.at(n) 返回第n个元素 a[n]不检查是否越界;a.at(n)检查是否越界

    栈和队列的成员函数写过了    http://www.cnblogs.com/jinmingyi/p/6798041.html

  • 相关阅读:
    hdu5926Mr. Frog’s Game
    hdu5926Mr. Frog’s Game
    hdu5924Mr. Frog’s Problem
    hdu5924Mr. Frog’s Problem
    hdu5922Minimum’s Revenge
    hdu5922Minimum’s Revenge
    带空格的字符串输入
    带空格的字符串输入
    382. Linked List Random Node
    319. Bulb Switcher
  • 原文地址:https://www.cnblogs.com/jinmingyi/p/6798359.html
Copyright © 2011-2022 走看看