学习STL -- 列表list

Vector容器提供了对元素的快速随机访问,但是付出的代价是在其任意位置插入和删除元素,比在容器尾部插入和删除的开销更大。与vector相比,list容器可以在任何位置快速插入和删除,但是付出的代价是元素的随机访问开销更大。

采用list的结构实现容器的基本操作与vector容器类似。list 容器与vector 容器有很多相同的接口,像 push_back()、insert()、end()、erase()等。但是list容器不支持随机访问,所以没有下标操作符。

list 相对 vector 的新增加的部分接口:

(1)push_front

在列表的第一个元素前插入新元素

void
      push_front(const value_type& __x)
      { this->_M_insert(begin(), __x); }

(2)pop_front

删除列表的第一个元素

void

      pop_front()

      { this->_M_erase(begin()); }

(3)remove

删除所有值为 _value的元素

void

      remove(const _Tp& __value);

(4)unique

删除所有相邻的相同元素,只保留一个

void

      unique();

(5)merge

与有序列表 _x 求并集,构成新的有序列表,原列表应为有序列表

void

      merge(list& __x);

(6)reverse

将所有的元素次序倒置

void

      reverse()

      { this->_M_impl._M_node.reverse(); }

(7)merge

将所有元素按照从小到大的次序排列

void

      sort();

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 23:35:20

学习STL -- 列表list的相关文章

Python学习_列表解析和Lambda表达式

1.根据要求创建列表threes_and_fives(列表值包括1到15中能够被3或者5正常的数) threes_and_fives=[x for x in range(1,16) if x%3==0 or x%5==0] 2.lambda表达式实例(剔除掉列表中的"X") garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX" message

python学习第六天 - 列表(数组)

python当中的数组与java,c不太一样,数组相当于一个列表,一个列表中可以有,整型,字符串,浮点型等等. 定义格式如下: >>> list = [123,'小甲鱼',3.14] >>> list [123, '小甲鱼', 3.14] 介绍几种向列表中添加元素的方法 1.append() :向列表中增加新的元素,一次只能添加一个元素,默认添加到列表的末尾 >>> list.append('黑夜') >>> list [123, '

android学习--视图列表(ListView和ListActivity)

说明: 视图列表(ListView和ListActivity)与AutoComplete.Spinner类似,它们都需要一个供显示的列表项,可以需要借助于内容Adapter提供显示列表项 创建ListView有两种方式: (1)直接使用ListView进行创建 (2)Activity继承ListActivity ListView的常用XML属性 下面分别用两种方式创建ListView 方式一:直接使用ListView进行创建 (1)   main_activity.xml 下面布局两个listV

学习网站列表

Math: https://projecteuler.net/about Pygame: http://nullege.com/ Python: https://www.python.org/ 学习网站列表

python学习---数据类型---列表

Python学习 1.列表 [] 1.1)列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 1.2)列表时可变数据类型 1.3)列表的组成:用[]标示列表,包含多个用逗号隔开的数字或者字符串 举例:    list[1,2,3]        list1['aaa',123,'"qwsx"] 空列表 list[] 注意:在定义时,元祖只有一个值时,要在其后面加逗号:而列表只有一个值时不用加任何符号 2. 列表的操作 2.1)列表的重新赋值   (以list1[

Gym - 100989D 题学习stl中的set<pair<int ,int > >

题目网址链接:https://vjudge.net/problem/387095/origin 题目大意:给出桌子数和桌子容纳人数,给出几条操作,操作如下:给出顾客人数,问是否有能容纳顾客且桌子标号和桌子容纳人数与顾客人数差值同时最小的桌子,有即输出桌子编号,没有输出-1:期间会有顾客离开,给出离开的桌子编号. 在做题之前,先学习STL中的set:以集合形式从小到大排列set中的元素. 先给出几个大牛博客链接: https://www.cnblogs.com/zyxStar/p/4542835.

Python学习之列表的内部实现详解

本文和大家分享的主要是列表在 CPython中的实现,一起来看看吧,希望对大家学习python有所帮助. Python 中的列表非常强大,看看它的内部实现机制是怎么样的,一定非常有趣. 下面是一段 Python 脚本,在列表中添加几个整数,然后打印列表. >>> l = [] >>> l.append(1) >>> l.append(2) >>> l.append(3) >>> l [1, 2, 3] >>

Python学习之列表详解

本文和大家分享的主要是python列表的增删改查排相关内容,一起来看看吧,希望对大家学习python 有所帮助.  一.列表的样子:  a = ['q' , 'w' , 'e ', 'r',  a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0]  二.查(也称切片):  print ( a[0] )          #取出列表中第一个元素 即:q  print ( a[1:] )        #从第二个元素开始取到最后 即:['w', 'e','r', 't']  prin

HTML 学习笔记(列表)

HTML 列表 html中列表使用标签<ul>和 <ol>来实现,不同的行用标签<li>来实现 <li>中包含的就是列表每行的内容.列表包含有序列表<ol> 和 无序列表<ul> 定义列表 自定义列表不仅仅是一列项目,而是项目及其注释的组合. 自定义列表以 <dl> 标签开始.每个自定义列表项以 <dt> 开始.每个自定义列表项的定义以 <dd> 开始. 实例 不同类型的无序列表 <body&