zoukankan      html  css  js  c++  java
  • STL之list

      list是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块,一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素链接起来。

    list的特点:

    1、不使用连续的内存空间这样可以随意的进行动态操作。

    2、可以在内部任何位置快速的插入与删除,当然也可以在两端进行push和pop。

    3、不能进行内部的随机访问,即不支持[]操作符和vector.at();

    4、list将元素按顺序存储在链表中,与向量(vector)相比,它允许快速的插入和删除,但是随机访问却比较慢。

    list的基本操作有:

    list<type>l;

    l.back() 返回最后一个元素的引用

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

    l.clear()删除所有元素

    l.empty() 如果list为空则返回true

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

    l.erase(it)删除由迭代器it所指向的元素

    l.erase(it,start,end)删除由迭代器it所指向的序列(start,end]

    l.insert(it,val)在迭代器it指向的元素前插入新元素val

    l.insert(it,num,val)在迭代器it指向的元素前插入num个值为val的元素

    l.insert(it, first, last)将由迭代器first 和last 所指定的序列[first, last)插入到迭代器it 指向的元素前面。

    l.merge() 合并两个list

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

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

    l.push_back() 尾部添加一个元素

    l.push_front() 头部添加一个元素

  • 相关阅读:
    软件质量
    LINUX
    C# .net 多线程中集合数据同步
    一些常用COM接口表
    PHP、JAVA、C#、Object-C 通用的DES加密
    【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
    C#中如何把int转换成两个字符的string 缺位补零
    C#中Math.Round()实现中国式四舍五入
    C# RGB与16进制颜色转换方法
    c# e语言 字节集 表示方式
  • 原文地址:https://www.cnblogs.com/kane0526/p/4316112.html
Copyright © 2011-2022 走看看