list相当于双向链表,所以快插快删比较方便(链式数据结构的性质),但是随机读取较慢

用一道luogu的水题做一做list,code如下

 #include <cstdio>
 #include <list>

 using namespace std;

 list<int>line;
 int n,k;

 int main(int argc, char const *argv[]){
     scanf("%d",&n);
     ; i < n; ++i){
         scanf("%d",&k);
         line.push_back(k);
     }
     line.sort();
     line.unique();
     printf("%d\n", line.size());
     for (std::list<int>::iterator i = line.begin(); i != line.end(); ++i){
         printf("%d ", *i);
     }
     ;
 }

需要注意的是实现list的unique时,一定要先sort,否则不行。

list的sort默认从小到大排序,如果要从大到小排序的话,写个算子或者include一下functional,如下写法:

     line.sort(greater<int>() );

当然也可以用曲线救国的骚操作:

     line.sort();
     line.unique();
     line.reverse();

reverse对list中的元素进行反转。

----------------------------------------------------------------------------------------------------------------------------------

除了上述操作,还有:

line.clear();           清空链表

line.empty();         返回bool:链表是否为空

别的就差不多了吧,begin() front() push_front(k) size()等等都是很常用的

【stl小记】list的更多相关文章

  1. STL priority_queue 优先队列 小记

    今天做题发现一个很有趣的地方,竟然还是头一次发现,唉,还是太菜了. 做图论用STL里的priority_queue去优化prim,由于特殊需求,我需要记录生成树中是用的哪些边. 于是,我定义的优先队列 ...

  2. eclipse在Ubuntu 13.04下的安装过程及问题小记

    一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:http://www.eclipse.org/downloads/? ...

  3. 小记:iterator && auto

    小记:iterator && auto iterator 众所周知,我们有一种强大的东西,它叫做STL,比如queue.vector.set.map.multimap .deque等. ...

  4. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  5. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  6. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  7. STL的std::find和std::find_if

    std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...

  8. STL: unordered_map 自定义键值使用

    使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...

  9. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

随机推荐

  1. 超详细的Java面试题总结(一)之Java基础知识篇

    面向对象和面向过程的区别 面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的因 ...

  2. flask函数已定义参数却出现takes 0 positional arguments but 1 was given的问题

    在flask中定义了一个简单的删除数据库内容的路由 测试却发现一直报错 说delete_history函数定义时没有接受参数,但是检查delete_history函数却发现没有问题 后来想了半天才发现 ...

  3. 解决不走onActivityResult方法

    最近在开发公司项目,在使用startActivityForResult关联俩个Activity中,发现A跳转到B,B设置setResult之后,A没有执行onActivityResult,查找一下,发 ...

  4. javascript性能

    1.js文件放在底部 js文件具有阻塞机制,放在头部,需要等待js下载解析完毕之后才能下载渲染页面,因此需要放在底部

  5. 修改ES使用root用户运行

    默认ES不允许使用root用户运行,如果使用root会报如下图的错误: ,通常建议创建elsearch用户并使用该用户运行ES.但如果必须使用root用户时,按如下设置即可: 1.启动是使用如下命令 ...

  6. linux下终端游戏

    sl 一列火车 oneko 一只淘气的小猫

  7. Linux 入门记录:十一、Linux 用户基础

    一.用户.组 1. 用户 当我们使用 Linux 时,需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行.用户限制使用者或进程可以使用或不可以使用哪些资源. 2. 组 组用来方便地管理用户. ...

  8. 【SCOI2010】维护序列

    NOI2017的简化版…… 就是维护的时候要想清楚怎么讨论. #include<bits/stdc++.h> #define lson (o<<1) #define rson ...

  9. 小程序2(JSSDK,ECS搭建ftp服务器)

    JSSDK 开发步骤 绑定安全域名(域名绑定给任意一个公众号) 引入js 权限验证 wx.config({}) ready 所有的开发写在ready中 error 分享接口 onMenuShareTi ...

  10. 51Nod 1022 石子归并 V2(区间DP+四边形优化)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1022 题目大意: N堆石子摆成一个环.现要将石子有次序地合并成 ...