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() 头部添加一个元素

  • 相关阅读:
    vscode 远程编辑文件
    neo4j
    sqlite3-python
    pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签
    thisamericanlife 百度api及腾讯翻译-正式版
    为微信二维码添加gif动态背景
    python- www.thisamericanlife.org转pdf
    python爬虫添加请求头
    Python-redis
    k8s权威指南-从xx到oo的实践全接触
  • 原文地址:https://www.cnblogs.com/kane0526/p/4316112.html
Copyright © 2011-2022 走看看